async sockets and select()

Michael Marxmeier (mike@msede.com)
Tue, 12 Aug 97 1:37:30 MESZ


Hello.

I observed some possible strange behaviour with async sockets
and select() with 2.0.30-pre2. Maybe someone with a more indepth
knowledge of the socket code would mind to comment ?

A socket has been opened, is listened and has F_SETOWN/FASYNC
enabled. When a connection comes in, i'll get a SIGIO and do a
select() on the open sockets (including the listen socket)
with a zero timeout. I would expect that the listening socket
marked "readable", since an accept() would not block. However it
is not. When defining a timeout value (any value will do - even
tv_usec = 1) the socket returns ready.

Is this the expected behaviour ?

Michael

--
Michael Marxmeier           Marxmeier Software GmbH
E-Mail: mike@msede.com      Suedstrasse 58
Voice : +49 202 2431440     42119 Wuppertal, Germany
Fax   : +49 202 2431420     http://www.msede.com/