This pull request has been rebased onto qemu.git/master and retested. The series fixes init_socket() failures when reused PIDs cause temporary file name collisions.
GLib uses abort(3) to exit failed test cases. As a result, the pid file and UNIX domain sockets for a running test are leaked upon failure. Since abort(3) does not call atexit(3) handler functions, we could set up a SIGABRT handler that performs cleanup. But there are other conditions where processes die, like SIGSEGV or SIGBUS. Let's unlink pid files and UNIX domain sockets as soon as the QEMU process has initialized and connections have been made. This eliminates the possibility of leaking these files. Note that the actual QEMU process is orphaned when a test case fails. This series does not fix that problem. Stefan Hajnoczi (2): qtest: unlink QEMU pid file after startup qtest: unlink UNIX domain sockets after connecting tests/libqtest.c | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) -- 1.8.5.3