qubes-linux-utils/qrexec-lib
Marek Marczykowski-Górecki 61c3357ce1
libqrexec-utils: bring back buffered write helpers
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 6a44eaeb09)
2015-10-30 15:33:12 +01:00
..
buffer.c linux-utils: misc const/prototype fixups 2014-01-06 14:40:57 +01:00
copy-file.c Add a few consts where appropriate 2014-02-16 11:08:22 +01:00
crc32.c Qrexec common code, qubes.Filecopy common code, udev scripts 2013-03-20 06:27:32 +01:00
crc32.h Qrexec common code, qubes.Filecopy common code, udev scripts 2013-03-20 06:27:32 +01:00
exec.c qrexec: create stdin/out/err as sockets instead of pipes 2015-02-16 23:11:37 +01:00
ioall.c ioall: do not reset file flags when they're already as requested 2014-01-06 14:40:57 +01:00
ioall.h linux-utils: misc const/prototype fixups 2014-01-06 14:40:57 +01:00
libqrexec-utils.h libqrexec-utils: bring back buffered write helpers 2015-10-30 15:33:12 +01:00
libqubes-rpc-filecopy.h filecopy: create new file unaccessible to the user until fully written 2015-01-30 00:55:46 +01:00
Makefile libqrexec-utils: bring back buffered write helpers 2015-10-30 15:33:12 +01:00
qrexec.h qrexec: update protocol 2014-11-19 15:10:59 +01:00
txrx-vchan.c Fix compile warnings 2014-11-19 15:10:59 +01:00
unix-server.c unix-server: do not check for unlink() error when creating socket 2014-01-07 00:27:57 +01:00
unpack.c qfile-unpacker: do not call fdatasync() at each file (#1257) 2015-10-11 02:51:00 +02:00
write-stdin.c libqrexec-utils: bring back buffered write helpers 2015-10-30 15:33:12 +01:00