And thus the read operation indefinitely blocks the write operation.

I've come across the same problem when porting an ACE Proactor application from VxWorks/Windows to Linux.

Attached is a...