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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content