Ah, now that makes sense. Kinda. It still doesn't explain why the result is random. :-)
"true" sometimes exits too fast, "sleep 0.1" suffices. Due to userspace implementation (via pthread_cond_timedwait), /bin/true might end even before the signal is delivered. BTW, I just verified, only kfreebsd-i386 is affected, kfreebsd-amd64 (with 64-bit time_t) works fine. Petr