> 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