On Monday 30 October 2000 20:39, Alan Cox wrote: > > Exactly for this reason I've made a patch, that takes a semaphore in > > read() and write(). > > But you cant just go around taking semaphores blindly. Suppose you block in > the read method and a 2nd one blocks on the semaphore - its now unkillable > until the first moves on What is the alternative ? Most devices' reads are not reentrant. If the drivers themselves take the semaphores the effect is the same I see that these applications will stay some time in the D state. But if the read function might block they could end up in that state anyway. Could you please explain the problem in greater detail ? Regards Oliver