https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93599
--- Comment #4 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Created attachment 47800 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47800&action=edit Possible fix Here is something that Nicolas and I came up with. The theory is that pthread_cond_wait can get a spurious interrupt once in a blue moon which previosly led to the macro becoming a no-op. I have tested this to around 8 Million invocations of the test program, but this is not a guarantee... Incidentially, this also appears to fix the issue that helgrind reported. It passes regression testing. Is there a reasonable way to test this further?