printf goes to serial port?

Alex Martin alex@rettc.com
Fri Dec 19 20:35:00 GMT 2008


Matt Wozniski wrote:
> On Fri, Dec 19, 2008 at 2:30 PM, Gary R. Van Sickle wrote:
>>> From: Alex Martin
>>>
>>> Hello,
>>>
>>> I have a cygwin environment, running some software I am
>>> writing to talk to some serial devices.
>>>
>>> Somehow, trying to debug why I could not see printf output to
>>> console, I ran a serial port sniffer and voila all of my
>>> printf commands are writing on the serial port.
>>>
>> I can't say that it would cross my mind to look for my missing printf output
>> on a serial port, even if I was using a serial port in other parts of the
>> program to talk to something.  Whatever it was that gave you the hunch to do
>> that is probably at the core of your problem.
> 
> My slightly wild guess is that you do an open() on the serial device
> without a controlling terminal and without passing the O_NOCTTY flag,
> causing the serial device to become your controlling terminal.
> 
> ~Matt
> 
Hello,

I do this:
//snip
     if (port == 1) {
        fd = ::open("/dev/ttyS0", O_NONBLOCK | O_RDWR | O_NOCTTY );
     }
//snip

Can you point me to some info about "controlling terminal"? I have been 
living in a strict c++/cygwin/fox-toolkit world and I am not familiar 
with terminals and things.

If I try to run my .exe from a cygwin prompt, it doesnt start up. If I 
run my exe from a cmd.exe window, it starts up my app but then returns 
to a prompt instead of staying open to catch printfs and such.

Any ideas?

Thanks for your help.

Alex Martin

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list