|Perl Monk, Perl Meditation|
Poor randomness with File::Temp and fork().by BazB (Priest)
|on Jun 27, 2004 at 16:47 UTC||Need Help??|
BazB has asked for the
wisdom of the Perl Monks concerning the following question:
Greetings once again, fellow Monks.
I have some code which forks a number of children to carry out a number of tasks in parallel.
The code regularly fails to create a unique filename - File::Temp croaks after 10 attempts to guess another unique name (the 10 attempts is a constant hardcoded in the module's source).
I've worked around this by modifying File::Temp to include the process ID ($$) on the end of any filenames, but I feel this is a less-than-ideal solution.
Could someone explain to me why the randomness of the temporary filenames in multiple processes isn't exactly random and suggest any other solutions/hacks to workaround the problem?
If the information in this post is inaccurate, or just plain wrong, don't just downvote - please post explaining what's wrong.