Calling the setuid function within a multithreaded program interrupts poll and select syscalls in other threads

Solution Unverified - Updated -

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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In