> Can someone give me some pointers/solution please?

Use two threads to manage the device.

One thread simply reads from the device.  Every time it gets a message,
it puts it on the I-queue and broadcasts the I-queue Ns_Cond.

The other thread simply waits on the O-queue cond.  Every time it gets
signalled, it looks for messages on the O-queue and writes them to the
device.

Reply via email to