Kernel.srand after_fork

Eric Wong normalperson at
Fri Jan 28 05:26:49 EST 2011

ghazel at wrote:
> Hi,
> We recently noticed random numbers from the Unicorn workers were
> turning up lots of duplicates across requests. Is it possible that the
> random seed generated when the ruby interpreter starts is duplicated
> when the workers are forked, and not re-seeded after fork?
> If so, should I call Kernel.srand in after_fork, or is this something
> which should be added to Unicorn?

It looks like a 1.8 bug, which version of Ruby are you running?  Ruby
1.9.1 actually had a bug where it was reseeded improperly and led to
segfaults (see KNOWN_ISSUES).  1.9.2 is fine afaik.

Eric Wong

More information about the mongrel-unicorn mailing list