Commit 7e544529 authored by Leigh B Stoller's avatar Leigh B Stoller

Call srand in children of ParRun() so that each child is not running

from the same random seed. This is quite possible the cause of stitching
failures. From the File::Temp man page:

"If you are forking many processes in parallel that are all creating
 temporary files, you may need to reset the random number seed using
 srand(EXPR) in each child else all the children will attempt to walk
 through the same set of random file names and may well cause
 themselves to give up if they exceed the number of retry attempts."
parent 3c06b125
......@@ -400,6 +400,9 @@ sub ParRun($$$@)
$SIG{TERM} = 'DEFAULT';
$SIG{QUIT} = 'DEFAULT';
$SIG{HUP} = 'DEFAULT';
# So randomness is not the same in different children
srand();
# So we get the event system fork too ...
event::EventFork();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment