Comment 15 for bug 1435109

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

This futex behavior is expected, as it counts the relative time and only the active time.

Did one test with a similar program using futex wait and comparing the delta between suspends, and you can find the output at: http://paste.ubuntu.com/10708286/

For it to work the way you expected, you'd need to use FUTEX_WAIT_BITSET and an absolute timeout, as you can see from: http://paste.ubuntu.com/10708958/

For me it's still a bit unclear why this is causing such issues with go (don't know much about go internals yet, and futex is actually behaving as expected), but feel free to ping me once you open a bug against upstream.