While doing development on libvirt libxenlight driver I noticed
that terminating a libxenlight client causes any qemu-dm
processes that were indirectly created by the client to also
terminate. Calling setsid(2) before exec'ing qemu-dm resolves
the issue.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
if (rc < 0)
goto out_close;
if (!rc) { /* inner child */
+ setsid();
libxl__exec(null, logfile_w, logfile_w,
libxl__abs_path(&gc, info->device_model, libxl_libexec_path()),
args);