summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-08-11 21:25:31 -0400
committerStan Seibert <stan@mtrr.org>2011-08-11 21:25:31 -0400
commitce20692407cf1e4f299997f0be0f244d27957bd0 (patch)
tree117891f6ccb0ea3dce275fd605ef8b14ffb247a5
parent8487c83d39b12bd830325202a60848df0adf02f5 (diff)
downloadchroma-ce20692407cf1e4f299997f0be0f244d27957bd0.tar.gz
chroma-ce20692407cf1e4f299997f0be0f244d27957bd0.tar.bz2
chroma-ce20692407cf1e4f299997f0be0f244d27957bd0.zip
Make the generator process a "daemon" process, so it will be cleaned
up when the parent exits, and also start the generator process earlier.
-rwxr-xr-xsim.py7
1 files 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)