man futex: ERRORS EAGAIN FUTEX_CMP_REQUEUE found an unexpected futex value. (This proba‐ bly indicates a race; use the safe FUTEX_WAKE now.) From what I see, eclipse (java?) doesn't do that. Am I correct in assuming this could take less time if it did a FUTEX_WAKE? [...] gettimeofday({1201266779, 53307}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2880, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35043) = -1 EAGAIN (Resource temporarily unavailable) futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 79762}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigreturn(0xb7a4686c) = -1208098816 futex(0x805c618, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35045) = 0 futex(0x805c798, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 109353}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35047) = 0 futex(0x805c798, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 135032}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2880, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35049) = -1 EAGAIN (Resource temporarily unavailable) futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 160895}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x80 /* FUTEX_??? */, 2) = -1 EAGAIN (Resource temporarily unavailable) futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 0 futex(0x805c698, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c698, 0x81 /* FUTEX_??? */, 1) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2880, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35051) = -1 EAGAIN (Resource temporarily unavailable) futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 196429}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigreturn(0xb7a4686c) = -1208098816 futex(0x805c618, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35053) = 0 futex(0x805c798, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 222509}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35055) = 0 futex(0x805c798, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 247277}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35057) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 277129}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35059) = 0 futex(0x805c798, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 303727}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2880, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35061) = -1 EAGAIN (Resource temporarily unavailable) futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 336500}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigreturn(0xb7a4686c) = -1208098816 futex(0x805c618, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35063) = 0 futex(0x805c798, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 370295}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2880, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35065) = -1 EAGAIN (Resource temporarily unavailable) futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 397578}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 0 futex(0x805c698, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c698, 0x81 /* FUTEX_??? */, 1) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2880, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35067) = -1 EAGAIN (Resource temporarily unavailable) futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 433092}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x80 /* FUTEX_??? */, 2) = -1 EAGAIN (Resource temporarily unavailable) futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 0 futex(0x805c698, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c698, 0x81 /* FUTEX_??? */, 1) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2880, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35069) = -1 EAGAIN (Resource temporarily unavailable) futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 gettimeofday({1201266779, 461143}, NULL) = 0 futex(0x809c7dc, 0x85 /* FUTEX_??? */, 1) = 1 futex(0x805c718, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x83982c4, 0x84 /* FUTEX_??? */, 1) = 1 futex(0x805c618, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 1 futex(0x80a2884, 0x80 /* FUTEX_??? */, 35071) = 0 futex(0x805c798, 0x80 /* FUTEX_??? */, 2) = 0 futex(0x805c798, 0x81 /* FUTEX_??? */, 1) = 0 [...]