Subject: Debian 1.1 and the select system call

From: Oz Dror <[email-masked]>
Date: Sun, 30 Jun 1996 11:23:22 -0700 (PDT)

Hi,

I have have compiled (kernel 2.0 ) on debian 1.1
(libc libc5_5.2.18-9).

In a program that I have written I am using a select
system call. The select waits indefinitely on input from a serial line and
a FIFO node.

  for (;;){
    FD_ZERO(&readfds);
    if (fifo_fd != -1)
        FD_SET(fifo_fd,&readfds);
    FD_SET(fd,&readfds);
    sel = select(100,&readfds, NULL, NULL, NULL);
    if (sel > 0) {
       if (fifo_fd != -1 && FD_ISSET(fifo_fd,&readfds)) fifo_read();
       if (FD_ISSET(fd,&readfds)) {
....
  }

as soon as the fifo queue gets an input, the select system call
keeps returning with a flag indicating additional fifo inputs.
even though that there are no additional fifo inputs and the previous
input was processed.

In other words the program goes to an infinite loop because it thinks
that there is additional unprocessed data in a fifo queue, when actually
there is none (there was only one input that was processed).

The problem goes away if I just reinstall the old kernel (1.3.72)

-Any help will be appreciated

-Oz
-- 
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
NAME   Oz Dror, Santa Monica, California   
EMAIL  [email-masked]                     <<Linux  since 8/15/94>>
PHONE  Fax (310) 396-5798