История изменений
Исправление monk, (текущая версия) :
Компилятор имеет право инициализировать нулём, поэтому гарантированной случайности там изначально не было.
Там было getpid() ^ tv.tv_sec ^ tv.tv_usec ^ junk
Если junk = 0, то остаётся getpid() ^ tv.tv_sec ^ tv.tv_usec и всё хорошо. Но так как это UB, то компилятор решил, что пусть junk == ~(getpid() ^ tv.tv_sec ^ tv.tv_usec) и занулил результат.
Исходная версия monk, :
Компилятор имеет право инициализировать нулём, поэтому гарантированной случайности там изначально не было.
Там было getpid() ^ tv.tv_sec ^ tv.tv_usec ^ junk
Если junk = 0, то остаётся getpid() ^ tv.tv_sec ^ tv.tv_usec и всё хорошо. Но так как это UB, То компилятор решил, что пусть junk == ~(getpid() ^ tv.tv_sec ^ tv.tv_usec) и занулил результат.