Poll(2) system call returns late in multithreaded applications
Last updated on AUGUST 01, 2016
Applies to:OpenSolaris Operating System - Version 2008.05 and later
Solaris Operating System - Version 10 3/05 and later
As outlined in CR 6850147, when a multithreaded application makes a call to close(2) when there is an active system call on that file descriptor all threads in that process are stopped while various kernel structures are updated so that the active system calls will return a failure due to the closure of that file descriptor. The more multi-threaded the process is, the larger the impact that this has. In particular it can delay the return of a poll(2) system call that is being used for critical timing regardless of the scheduling class it is in (i.e. having that thread in RT class does not help).
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms