> This looks like a good idea for tcp. But there are other > users of qread, with stricter assumptions. Aren't you in danger > of breaking the contract of pipe(3) which uses qwrite/qread: > > Writes are atomic up to a certain size, typically 32768 > bytes, that is, each write will be delivered in a single > read by the recipient, provided the receiving buffer is > large enough.
this change only applies to Qcoalesce queues. the only users of Qcoalesce are the kprintoq and tcp. both should be okay with this change. ; g qopen port/devpipe.c port/devpipe.c:68: p->q[0] = qopen(conf.pipeqsize, 0, 0, 0); port/devpipe.c:73: p->q[1] = qopen(conf.pipeqsize, 0, 0, 0); - erik