LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

return (getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec ^ junk;

Тут рандомное значение, которое случайно вышло 0

Чтобы тут «случайно» вышло 0, junk должен быть равен (getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec. Причём заметь, там два вызова, но junk всегда магически подбирается под tv.tv_usec так, чтобы всё равно был 0.

Исходная версия monk, :

return (getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec ^ junk;

Тут рандомное значение, которое случайно вышло 0

Чтобы тут «случайно» вышло 0, junk должен быть равен ~((getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec). Причём заметь, там два вызова, но junk всегда магически подбирается под tv.tv_usec так, чтобы всё равно был 0.