History

futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup

The FLAGS_HAS_TIMEOUT flag was not getting set, causing the restart_block to restart futex_wait() without a timeout after a signal. Commit b41277dc7a18ee332d in 2.6.38 introduced the regression by accidentally removing the the FLAGS_HAS_TIMEOUT assignment from futex_wait() during the setup of the restart block. Restore the originaly behavior. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=32922

Darren Hart committed 15 years ago

Commit 0cd9c641 parent a6360dd1 file · +1 −1Browse files

Showing the changes to kernel (1 of 1 file). Show all

Unified · Split

kernel/futex.c+1−1
@@ -1886,7 +1886,7 @@ retry: · 1885 unmodified lines
18861886 restart->futex.val = val;
18871887 restart->futex.time = abs_time->tv64;
18881888 restart->futex.bitset = bitset;
1889− restart->futex.flags = flags;
1889+ restart->futex.flags = flags | FLAGS_HAS_TIMEOUT;
18901890
18911891 ret = -ERESTART_RESTARTBLOCK;
18921892