id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,difficulty 767,random seed should be more random,Jim Ursetto,,"The default RNG is seeded with time(NULL) which only changes every 1 second. See CHICKEN_initialize in runtime.c. Actually it only changes every 2 seconds, as C_randomize expects a C_word and the bottom bit is therefore destroyed. Actually, on most platforms it may take up to a minute to change values, as rand() is crap. Example: {{{while :; do date; csi -p '(random 60000)'; done}}} Instead it should be seeded with pid XOR seconds XOR milliseconds. This is totally portable and doesn't involve replacing rand() with random() or anything else disruptive, just seeding with more random bits. I will put together a patch to do this, it is a trivial fix.",enhancement,closed,not urgent at all,,core libraries,4.7.x,fixed,,,hard