Fixes apipe_read_cond()
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 17 Sep 2013 21:01:14 +0000 (14:01 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jan 2014 02:04:22 +0000 (18:04 -0800)
commit72e3892d34143d9403c3bd09161e4998e57aaa66
tree973255b375681582d386db8cd06be1e59ea9a350
parentd75fce6feb2a4240612fead0430a7fcd75684c17
Fixes apipe_read_cond()

Uses a priority_reader CV, so that we can have only one reader at a
time.  In the process, I separated the reader and writer CVs too.  Since
we have multiple CVs sharing a lock, it's clearer to use a standalone
lock.  Maybe I'll switch over to the POSIX CV style in the future...

Note: this was cherry-picked and had some minor issues.  I blame any bugs on
that.
kern/include/apipe.h
kern/src/apipe.c