plan9fox/sys
cinap_lenrek a28bdd3e1f cwfs: fix out of order replies
using a shared reply queue and a pool of worker procs does
result in replies to be send out of order under some conditions.
the symptoms are mnt errors when interrupting requests (Rflush
arriving before the original requests response).

this change gives each connection its own reply queue and its
own srvo process. so now a connection consists of one reply
queue, a srvi process reading the connections file descriptor
and a srvo process reading the reply queue and writng replies
to the connections file descriptor.

the srvi processes live as long as the connection is established.
the srvo prcoesses live forever and are attached to the chan
(which gets reused).

to avoid excessive process creation, we limit the number of
connections to 30. srvchan() returns nil when all 30 network
channels are in use.
2013-08-08 01:07:01 +02:00
..
doc
games/lib fortunes: God bless the people who employ you, they need the blessing. 2013-08-06 14:52:13 -04:00
include rio: add ^B control sequence to move cursor to output point 2013-08-04 06:45:58 +02:00
lib acid: fix dumptree() acid function to work in kernel debug, update malloc.acid and pool.acid files 2013-06-10 01:13:21 +02:00
man rio: add ^B control sequence to move cursor to output point 2013-08-04 06:45:58 +02:00
src cwfs: fix out of order replies 2013-08-08 01:07:01 +02:00