Marek Marczykowski
77b2758c93
vm/qubes-rpc: move set_(non)?block to ioall.c as can be used not only in qrexec
2012-08-25 01:11:22 +02:00
Rafal Wojtczuk
b4fb7a4b5d
qrexec: added two I/O error checks, even though it is redundant in these cases
2011-05-04 12:56:52 +02:00
Rafal Wojtczuk
d68183da0c
qrexec: added comments, made identifiers more verbose
2011-05-04 12:52:54 +02:00
Rafal Wojtczuk
7f6a06c354
qrexec: in write_stdin, remove dependency on write size
...
Previous code could barf when write was partial; probably can happen
only if we increase vchan buffer size, but it is better isolated now.
2011-03-18 11:16:05 +01:00
Rafal Wojtczuk
1d24ef9d1a
qrexec: when forgetting about a client/process, flush buffered data
...
We need to spawn a child to take care of buffered data flushing, if there
is any. Expensive, but should be needed rarely.
2011-03-17 18:15:04 +01:00
Rafal Wojtczuk
53b517f6a5
qrexec: move set_nonblock function to write_stdin
...
It will be needed there.
2011-03-17 17:53:33 +01:00
Rafal Wojtczuk
af7fefa73f
qrexec: handle buffered writes correctly
...
In case when we have a buffered write, always append to the
buffer, even if the pipe happens to be writable now. If not,
in case of certain tight race we might end up writing buffered data in
wrong order.
2011-03-17 16:53:29 +01:00
Rafal Wojtczuk
b98dffc965
qrexec* tools, initial version
2011-03-04 16:32:58 +01:00