This is the mail archive of the
mailing list for the Cygwin project.
Re: cygwin 1.5.23-2 : I can't use select() with serial device and socket
- From: Brian Dessent <brian at dessent dot net>
- To: cygwin at cygwin dot com
- Date: Thu, 18 Jan 2007 08:51:49 -0800
- Subject: Re: cygwin 1.5.23-2 : I can't use select() with serial device and socket
- References: <email@example.com>
- Reply-to: cygwin at cygwin dot com
Florent Morin wrote:
> I have a problem using cygwin. My program does this :
> - It accept a socket connection,
> - it listen on it,
> - it open serial device read/write (O_RDWR),
> - it create 2 fd_sets,
> - listening loop :
> - adding file descriptors to sets,
> - call select(),
> - if something is on serial port, I write it to socket,
> - if something is on socket, i write it to serial
> It works fine on Linux.
> With windows, only read or write works fine.
> If I begin on reading on serial, I can't write after (access denied).
> If I begin on writing on serial, I can't read after (access denied).
There's probably not enough information here to help. It would be
easier if you provided a simplified standalone testcase that we can
compile and run. Are you opening the serial device using the standard
unix name (/dev/ttyS0) and not the DOS name ("COM1")? The latter will
succeed but probably not work with things like ioctl or select, because
in order to emulate those APIs Cygwin has to know to treat the handle
specifically as a serial device, which it only does if you open it using
the unix form.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html