LINUX.ORG.RU

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

Исправление 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) и занулил результат.