core-agent-linux/qrexec
Marek Marczykowski-Górecki ea0cd0fdc3
qrexec: fix reporting exit code in qrexec-client-vm
1. If local process is started, report its exit code, instaed of remote
one. To get remote exit code, simply start qrexec-client-vm without
third argument (and connect its stdin/stdout with the other process some
other way).

2. Report process terminated by signal.
Don't pretend that process terminated by signal finished successfuly.
Copy shell behaviour of reporting it as 128+signum.

3. Do not wait() for any child process, just the one we expect. In case
of qrexec-client-vm the child process is started differently and
wait()ing on it inside main loop would break its exit code reporting.

Fixes QubesOS/qubes-issues#2861
2017-06-21 11:21:40 +02:00
..
Makefile qrexec: enable compiler optimization 2015-03-20 12:06:33 +01:00
qrexec-agent-data.c qrexec: fix reporting exit code in qrexec-client-vm 2017-06-21 11:21:40 +02:00
qrexec-agent.c qrexec: use #define for protocol-specified strings 2015-11-08 22:06:54 +01:00
qrexec-agent.h qrexec: unify service environment preparation 2016-03-21 13:23:34 +01:00
qrexec-client-vm.c qrexec: fix reporting exit code in qrexec-client-vm 2017-06-21 11:21:40 +02:00
qrexec-fork-server.c qrexec: fork into background after setting up qrexec-fork-server socket 2015-02-22 03:12:54 +01:00
qubes-rpc-multiplexer qrexec: add service argument support 2016-03-27 04:30:44 +02:00