Calling the setuid function within a multithreaded program interrupts poll and select syscalls in other threads
Issue
- When setuid is called in a thread of a multithreaded program, other threads seem to get interrupted by a signal
- This is noticeable when another thread is in the middle of either the select or poll system calls, since those calls get interrupted and return EINTR in errno.
Environment
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- glibc
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.