Email List: Xaustin-review-lX
[All Lists]

Defect in XBD "process signal mask"

To: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
Subject: Defect in XBD "process signal mask"
From: yyyyyyyy@xxxxxxxxxx
Date: Sat, 23 Mar 2002 09:06:38 GMT
        Defect report from : Alexander Terekhov , IBM

(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)

@ page Uhmm line 
9654,9825,30903-30905,35413,35428,35438,41457,41523-41526,41607,41947-41958,41997-41998,42192-42193,48179-48180
 section "process signal mask" comment {4}

Problem:

Defect code :  1. Error

David Butenhof wrote:
[...]
> 2) You've uncovered a bug in the specification that should be repaired in
> the corrigenda. There is no such thing as a "process signal mask", and even
> if it existed pselect() would have no business altering it. It needs to be
> fixed to specify the THREAD signal mask.

Please take a look at the results of my search on "signal mask"
in the context of "process signal mask" (I think that these 
places (well, perhaps not all, but...) might need to be 
"corrected" as well):

http://www.opengroup.org/publications/mem-online/c951/c951.pdf

9654 -Process signal mask (see sigprocmask())

9825 SIG_IGN, and that the process signal mask be unchanged across an exec.

30903 If sigmask is not a null pointer, then the pselect( ) function shall 
replace the signal mask of the
30904 process by the set of signals pointed to by sigmask before examining the 
descriptors, and shall
30905 restore the signal mask of the process before returning.

35413 process’ signal mask shall be unchanged;

35428 shall be set to indicate the error, and the process’ signal mask shall be 
unchanged.

35438 When a process’ signal mask is changed in a signal-catching function that 
is installed by

41457 signals that shall be added to the process’ signal mask before the 
signal-catching function is

41523 XSI SA_NODEFER If set and sig is caught, sig shall not be added to the 
process’ signal mask
41524 on entry to the signal handler unless it is included in sa_mask.Otherwise,
41525 sig shall always be added to the process’ signal mask on entry to the
41526 signal handler.

41607 used to leave the signal handler, then the signal mask must be explicitly 
restored by the process.

41947 used, and disp is the address of a signal handler, the system shall add 
sig to the calling process’
41948 signal mask before executing the signal handler; when the signal handler 
returns, the system
41949 shall restore the calling process’ signal mask to its state prior to the 
delivery of the signal. In
41950 addition, if sigset( ) is used, and disp is equal to SIG_HOLD, sig shall 
be added to the calling
41951 process’ signal mask and sig’s disposition shall remain unchanged. If 
sigset( ) is used, and disp is
41952 not equal to SIG_HOLD, sig shall be removed from the calling process’ 
signal mask.
41953 The sighold ( ) function shall add sig to the calling process’ signal 
mask.
41954 The sigrelse( ) function shall remove sig from the calling process’ 
signal mask.
41955 The sigignore( ) function shall set the disposition of sig to SIG_IGN.
41956 The sigpause( ) function shall remove sig from the calling process’ 
signal mask and suspend the
41957 calling process until a signal is received. The sigpause( ) function 
shall restore the process’ signal
41958 mask to its original state before returning.

41997 The DESCRIPTION is updated to indicate that the sigpause( ) function 
restores the process’
41998 signal mask to its original state before returning.

42192 The DESCRIPTION is updated to indicate that the sigpause( ) function 
restores the process’
42193 signal mask to its original state before returning.

48179 unspecified whether the SIGALRM signal is blocked, unless the process’ 
signal mask is restored
48180 as part of the environment.


Action:

Change "process signal mask" to "thread signal mask".

<Prev in Thread] Current Thread [Next in Thread>
  • Defect in XBD "process signal mask", terekhov <=