There is no way the consumer knows that another write is outstanding..
This is safe as it will "never" block, as soon as there is space, select
will return, and the correct write should be called to finish itself up,
unblocking the other...
I can picture a deadlock though where the write flag gets cleared when
finished up, and the other channel write was previously _EAGAIN'd...
This implies that a similar solution to read needs to be done, which is
if any write happens, spin the loop again, trying all the outstanding
writes to make sure they get a chance..