A NOTE has been added to this issue. 
====================================================================== 
http://austingroupbugs.net/view.php?id=1186 
====================================================================== 
Reported By:                davmac
Assigned To:                
====================================================================== 
Project:                    1003.1(2016)/Issue7+TC2
Issue ID:                   1186
Category:                   System Interfaces
Type:                       Clarification Requested
Severity:                   Editorial
Priority:                   normal
Status:                     New
Name:                       Davin McCall 
Organization:                
User Reference:              
Section:                    pselect 
Page Number:                1554-1555 
Line Number:                50880 
Interp Status:              --- 
Final Accepted Text:         
====================================================================== 
Date Submitted:             2018-02-02 18:47 UTC
Last Modified:              2018-02-04 20:00 UTC
====================================================================== 
Summary:                    pselect specification allows for race condition that
pselect was created to avoid
====================================================================== 

---------------------------------------------------------------------- 
 (0003918) jilles (reporter) - 2018-02-04 20:00
 http://austingroupbugs.net/view.php?id=1186#c3918 
---------------------------------------------------------------------- 
See also issue 680 and the thread on austin-group-l titled "pselect()
clarification" from 18-20 April 2013. The intent seems to be that [EINTR]
occur only when a signal interrupts blocking and no descriptors are ready,
but a signal may be delivered even if [EINTR] does not occur.

There are implementations such as FreeBSD that can both deliver a signal
and return ready descriptors in a single call.

The requirement that the signal mask shall be replaced before examining the
descriptors must apparently be interpreted differently than a
pthread_sigmask() call, so that the signal handler is not immediately
invoked, but will be invoked before pselect() returns, even if descriptors
are ready or the timeout is 0. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2018-02-02 18:47 davmac         New Issue                                    
2018-02-02 18:47 davmac         Name                      => Davin McCall    
2018-02-02 18:47 davmac         Section                   => pselect         
2018-02-02 18:47 davmac         Page Number               => 1554-1555       
2018-02-02 18:47 davmac         Line Number               => 50880           
2018-02-02 19:33 davmac         Note Added: 0003917                          
2018-02-04 20:00 jilles         Note Added: 0003918                          
======================================================================


Reply via email to