Messages in this thread | | | Date | Fri, 13 Aug 1999 22:13:12 -0700 | From | eokerson@quicknet ... | Subject | Broken select |
| |
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/
| |