Information in the THLI area can be used to optimize pthread_setintr (BPX1PSI, BPX4PSI) callable service invocations. BPX1PSI (BPX4PSI) must not be optimized if a signal is pending for the thread. A signal pending condition is indicated by the ThliSigPending flag. When this flag is on, indicating that a signal is pending, BPX1PSI (BPX4PSI) must be called to process the request and process signal delivery.
The current state | New state | Int. type | Cancel pending | Result |
---|---|---|---|---|
Disabled | Disabled | N/A | N/A | Return "disabled" |
Enabled | Disabled | N/A | N/A | Issue BPX1PSI (BPX4PSI) |
Enabled | Enabled | N/A | Yes | Issue BPX1PSI (BPX4PSI) |
Enabled | Enabled | N/A | No | Return "enabled" |
Disabled | Enabled | N/A | N/A | Issue BPX1PSI (BPX4PSI) |
N/A | Invalid | N/A | N/A | Issue BPX1PSI (BPX4PSI) |
In other words, the optimizing program should issue the BPX1PSI (BPX4PSI) if there is a request to change the interruptability state, or if the state is enabled and there is a cancel pending, as indicated by the ThliCancelPending bit.