Reputation: 1
We have migrated a C++ RHEL 5.4 app from RH 6.2 and found that application has broken. One of our investigations lead to findings that the code in 5.4 box refers 'futex'. Note out app is compiled using 32 bit compiler option -
grep futex tool_strace.txt futex(0xff8ea454, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0xf6d1f4fc, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0xf6c10a4c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 As per http://www.akkadia.org/drepper/assumekernel.html I added the code on 5.4 build - setenv("LD_ASSUME_KERNEL" , "2.4.1" , 1); // to use Linux Threads
But the strace dump still shows me 'futex' being called.
All the addresses ff8ea454, f6d1f4fc and f6c10a4c are 32 bit addresses. So if my assumption is right how can I code that 'futex' calls can be suppressed or be not called at all.
Is there any known issue with futex calls?
Upvotes: 0
Views: 209
Reputation: 53310
I believe the following to be true:
Upvotes: 1