Messages in this thread | | | Subject | Re: futex(2) man page update help request | From | Torvald Riegel <> | Date | Sat, 24 Jan 2015 14:12:22 +0100 |
| |
On Sat, 2015-01-24 at 12:35 +0100, Thomas Gleixner wrote: > So we should never see -EINTR in the case of a spurious wakeup here. > > But, here is the not so good news: > > I did some archaeology. The restart handling of futex_wait() got > introduced in kernel 2.6.22, so anything older than that will have > the spurious -EINTR issues. > > futex_wait_pi() always had the restart handling and glibc folks back > then (2006) requested that it should never return -EINTR, so it > unconditionally restarts the syscall whether a signal had been > delivered or not. > > So kernels >= 2.6.22 should never return -EINTR spuriously. If that > happens it's a bug and needs to be fixed.
Thanks for looking into this.
Michael, can you include the above in the documentation please? This is useful for userspace code like glibc that expects a minimum kernel version. Thanks!
| |