[lkml]   [1999]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: select() fails... sometimes
On Tue, 18 May 1999 wrote:

> I have a problem using select() on several handles.
> It does work fine but, under some circumstances, it returns inmediately ignoring the timeout argument, indicating that handle zero (stdin linked to a socket via inetd) has something to read, but "read()" gets nothing at all.
> Once it happens it doesn't stop until something is received by some other handle. It's very annoying since the CPU load grows enormeously.
> It always happens with stdin (zero). I've tried the following settings for stdin without success:
> fcntl( 0, F_SETFL, O_NONBLOCK );
> setvbuf( stdin, NULL, _IONBF, 0 );
> Any ideas?

If select() set a bit in readfds, and read() on that fd returned zero,
it means that whatever is attached to that fd is finished, this fd
must be closed, and no further i/o should be attempted on it. In your case
stdin is a socket, and other end closed it or disconnected for whatever
other reason.


Excellent.. now give users the option to cut your hair you hippie!
-- Anonymous Coward

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:51    [W:0.064 / U:4.968 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site