Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Poor randomness with File::Temp and fork().

by Zaxo (Archbishop)
on Jun 28, 2004 at 00:12 UTC ( [id://370065]=note: print w/replies, xml ) Need Help??


in reply to Poor randomness with File::Temp and fork().

Here's a demonstration of several processes inheriting rand's seed. The srand solution suggested seems necessary if anything seeds rand before fork.

#!/usr/bin/perl my ($foo, %kid) = rand; for (1..10) { $kid{my $cpid = fork} = undef; defined $cpid or delete( $kid{""}), next; $cpid and next; print rand, $/; exit(0); } delete $kid{+wait} while %kid; __END__ 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209
With srand; inserted as the first thing in each child, we get, say,
0.458016411009343 0.922388048683391 0.938946679075347 0.358693821662204 0.88636225422761 0.519188953171582 0.459808857952343 0.982476360703917 0.626396972061233 0.824876680345373

After Compline,
Zaxo

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://370065]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (9)
As of 2024-04-24 10:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found