61c3357ce1
It is required to prevent deadlocks in single-threaded select-based IO
programs (namely: qrexec). POSIX API doesn't support checking how much
can be written to pipe/socket without blocking, so to prevent blocking
application must use O_NONBLOCK mode, and somehow deal with non-written
data (buffer it).
QubesOS/qubes-issues#1347
(cherry picked from commit
|
||
---|---|---|
.. | ||
buffer.c | ||
copy-file.c | ||
crc32.c | ||
crc32.h | ||
exec.c | ||
ioall.c | ||
ioall.h | ||
libqrexec-utils.h | ||
libqubes-rpc-filecopy.h | ||
Makefile | ||
qrexec.h | ||
txrx-vchan.c | ||
unix-server.c | ||
unpack.c | ||
write-stdin.c |