[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [TOOLS][PVFB] Avoid zombie framebuffer backends.
# HG changeset patch # User Steven Smith <ssmith@xxxxxxxxxxxxx> # Node ID b22274d1311c3f59bc9ddf4cab1a94b368aa8748 # Parent fb0a586854c1d8a7b814a4b0d77388ee05bb5fe3 [TOOLS][PVFB] Avoid zombie framebuffer backends. Signed-off-by: Steven Smith <sos22@xxxxxxxxx> --- tools/python/xen/xend/server/vfbif.py | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff -r fb0a586854c1 -r b22274d1311c tools/python/xen/xend/server/vfbif.py --- a/tools/python/xen/xend/server/vfbif.py Fri Dec 01 12:09:10 2006 +0000 +++ b/tools/python/xen/xend/server/vfbif.py Fri Dec 01 12:20:12 2006 +0000 @@ -4,6 +4,14 @@ import xen.xend import xen.xend import os +def spawn_detached(path, args, env): + p = os.fork() + if p == 0: + os.spawnve(os.P_NOWAIT, path, args, env) + os._exit(0) + else: + os.waitpid(p, 0) + class VfbifController(DevController): """Virtual frame buffer controller. Handles all vfb devices for a domain. """ @@ -33,7 +41,7 @@ class VfbifController(DevController): vnclisten = config.get("vnclisten", xen.xend.XendRoot.instance().get_vnclisten_address()) args += [ "--listen", vnclisten ] - os.spawnve(os.P_NOWAIT, args[0], args + std_args, os.environ) + spawn_detached(args[0], args + std_args, os.environ) elif t == "sdl": args = [xen.util.auxbin.pathTo("xen-sdlfb")] env = dict(os.environ) @@ -41,7 +49,7 @@ class VfbifController(DevController): env['DISPLAY'] = config["display"] if config.has_key("xauthority"): env['XAUTHORITY'] = config["xauthority"] - os.spawnve(os.P_NOWAIT, args[0], args + std_args, env) + spawn_detached(args[0], args + std_args, env) else: raise VmError('Unknown vfb type %s (%s)' % (t, repr(config))) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |