Marcus Brinkmann <[EMAIL PROTECTED]> writes: > The issue I am talking about is implementing pending_output_size correctly, > which should return the number of bytes pending for output. The problem > exists only for ioports that have the tiocoutq capability. Because we don't > know if the underlying translator already has received the io_write or not, > we don't know what the correct return value is:
Perhaps it's good enough to always assume that the write is complete, and return a lower bound on the queue size? The one receiving the write can't know if the pending data you didn't tell him about became available in the driver before or after the write. I don't fully understand the context here, but the point is that as the state in the sender and receiver of the write is not fully syncronized, and a sequence of pending_output_size and write isn't atomic. Other processes just have to deal with that, and hopefully the semantics of the involved functions are good enough to make it possible to deal with in a sane way. Regards, /Niels _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd