Broken select

eokerson@quicknet.net
Fri, 13 Aug 1999 22:13:12 -0700


Well, I found my error and thought I would share it so other driver
writers
would not fall into the same pit. Early on in the writing of the
driver I
allocated 4 wait queues for each card read_inq, read_outq, write_inq and
write_outq. I ended up using only 2 of them, read_outq and write_inq.
Those are the queues that are used for blocking reads and writes, so
they
are the ones that get passed to wake_up_interruptible when buffers are
available, or there is data to read. Unfortunately, when I added the
poll()
method, I inadvertently used the other 2, thus the compiler didn't
complain,
but select()'s never woke up until their timer timed out. The unused
wait
queues have now been deleted.

Ed Okerson
Quicknet Technologies, Inc

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/