bdae560770
When qfile-dom0-unpacker detects an error, it sends error report to stdout and terminate (so stdout is closed). That close should be transferred to the VM process (as EOF on its stdin), which will signal it to stop sending the data and handle error report. Also qrexec-client holds the connection until both stdin and stdout are closed. So when that EOF is missing, tar2qfile will not detect error report and still tries to send the data and qrexec-client will hold the connection while receiving process is long dead. To prevent that deadlock from happening, close FD in python code, so qfile-dom0-unpacker will be the last owner of write end of the pipe. When it closes its stdout, qrexec-client will receive EOF at its stdin. |
||
---|---|---|
core | ||
core-modules | ||
dispvm | ||
doc | ||
linux | ||
qmemman | ||
qubes-rpc | ||
qubes-rpc-policy | ||
qvm-tools | ||
rpm_spec | ||
site-packages | ||
site-packages-qmemman | ||
tests | ||
vm-config | ||
.gitignore | ||
installer.wxs | ||
LICENSE | ||
Makefile | ||
Makefile.builder | ||
version |