qio: Add non-blocking queues
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jul 2015 17:25:23 +0000 (13:25 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 24 Jul 2015 07:05:13 +0000 (03:05 -0400)
commit3e0ae7c72ced4e75efcf1d59599ce349ef8c76f9
tree73e73299ee863bfc1cb67a17c4f3243994cc8223
parentb85afc9b3dee28ea653103a97fb0f14849bf4534
qio: Add non-blocking queues

These queues are non-blocking in the O_NONBLOCK sense, which is distinct
from the old Plan 9 style of where data blocks get dropped when a writer
overflows the queue.

Conversation readers and writers will get an errno of EAGAIN with an
appropriate errstr, such as "queue full".

Userspace can't set O_NONBLOCK yet.
kern/include/ns.h
kern/src/ns/qio.c