diff options
author | Jim Fehlig <jfehlig@novell.com> | 2011-03-10 18:17:55 +0000 |
---|---|---|
committer | Jim Fehlig <jfehlig@novell.com> | 2011-03-10 18:17:55 +0000 |
commit | 8fa00387409c3fa1faadba90d723f547abf17bf8 (patch) | |
tree | 8e2b726d37978d7194f18c94432b00ff86961694 | |
parent | 0038df5fa3a8daab6b22e0a70966cf1919af3d19 (diff) | |
download | xen-8fa00387409c3fa1faadba90d723f547abf17bf8.tar.gz xen-8fa00387409c3fa1faadba90d723f547abf17bf8.tar.bz2 xen-8fa00387409c3fa1faadba90d723f547abf17bf8.zip |
libxl: Call setsid(2) before exec'ing device model
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>
-rw-r--r-- | tools/libxl/libxl_dm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index bc0bae7a96..d535e11a76 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -694,6 +694,7 @@ retry_transaction: 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); |