From ce20692407cf1e4f299997f0be0f244d27957bd0 Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Thu, 11 Aug 2011 21:25:31 -0400 Subject: Make the generator process a "daemon" process, so it will be cleaned up when the parent exits, and also start the generator process earlier. --- sim.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sim.py b/sim.py index 26a6b68..48bf313 100755 --- a/sim.py +++ b/sim.py @@ -44,6 +44,7 @@ class GeneratorProcess(multiprocessing.Process): self.material = material self.seed = seed self.queue = multiprocessing.Queue() + self.daemon = True def run(self): print >>sys.stderr, 'Starting generator thread...' @@ -126,9 +127,6 @@ def main(): print >>sys.stderr, 'RNG seed:', options.seed - print >>sys.stderr, 'Creating BVH for detector "%s" with %d bits...' % (options.detector, options.nbits) - detector.build(bits=options.nbits) - print >>sys.stderr, 'Creating generator...' detector_material = optics.water_wcsim generator_thread = GeneratorProcess(particle=options.particle, @@ -144,6 +142,9 @@ def main(): print >>sys.stderr, 'Starting GEANT4 generator...' generator_thread.start() + print >>sys.stderr, 'Creating BVH for detector "%s" with %d bits...' % (options.detector, options.nbits) + detector.build(bits=options.nbits) + print >>sys.stderr, 'Initializing GPU...' gpu_worker = gpu.GPU(options.device) -- cgit