View Issue Details

IDProjectCategoryView StatusLast Update
00007501003.1(2013)/Issue7+TC1Shell and Utilitiespublic2019-06-10 08:55
Reportergeoffclare Assigned To 
PrioritynormalSeverityObjectionTypeError
Status ClosedResolutionAccepted 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Section2.11
Page Number2353
Line Number74957
Interp StatusApproved
Final Accepted TextSee 0000750:0001858.
Summary0000750: Async list handling of SIGINT and SIGQUIT depends on job control
DescriptionIn XCU6, the first paragraph of section 2.11 was:

    When a command is in an asynchronous list, the shell shall prevent
    SIGQUIT and SIGINT signals from the keyboard from interrupting the
    command. Otherwise, signals shall have the values inherited by the
    shell from its parent (see also the trap special built-in).

This has since become:

    When a command is in an asynchronous list, it shall inherit from
    the shell a signal action of ignored (SIG_IGN) for the SIGQUIT and
    SIGINT signals, and may inherit a signal mask in which SIGQUIT and
    SIGINT are blocked. Otherwise, the signal actions and signal mask
    inherited by the command shall be the same as those inherited by
    the shell from its parent unless a signal action is modified by
    the trap special built-in (see trap).

This new text is incorrect in the case when job control is enabled.
With job control enabled, a background job that has been brought into
the foreground using fg should respond to SIGINT and SIGQUIT in the
same way as if it had been started in the foreground. (And this works
in existing shells.)

Also, the option to allow shells to block SIGINT and SIGQUIT was
presumably included in the new text because this could theoretically
be a way that a shell could comply with the XCU6 requirement.
However, this seems like an unnecessary complication and I'm not
aware of any shell implementations that do it.
Desired ActionChange:

    When a command is in an asynchronous list, it shall inherit from
    the shell a signal action of ignored (SIG_IGN) for the SIGQUIT and
    SIGINT signals, and may inherit a signal mask in which SIGQUIT and
    SIGINT are blocked. Otherwise, the signal actions and signal mask
    inherited by the command shall be the same as ...

to:

    If job control is disabled (see the description of set -m) when the
    shell executes an asynchronous list, the commands in the list shall
    inherit from the shell a signal action of ignored (SIG_IGN) for the
    SIGINT and SIGQUIT signals. In all other cases, commands executed
    by the shell shall inherit the same signal actions as ...
Tagstc2-2008

Relationships

related to 0000751 Closed Using trap to reset SIGINT/QUIT in an asynchronous subshell 

Activities

Don Cragun

2013-10-03 16:11

manager   bugnote:0001858

Interpretation response
------------------------
The standard states that when job control is enabled SIGINT and SIGQUIT signals must be ignored by commnds in an asynchronous list, and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor.

Rationale:
-------------
This is not the expected behavior when job control is enabled in the shell.

Notes to the Editor (not part of this interpretation):
-------------------------------------------------------
Make the changes suggested in the Desired Action.

ajosey

2014-02-21 15:40

manager   bugnote:0002157

Interpretation Proposed 21 Feb 2014

ajosey

2014-03-25 13:43

manager   bugnote:0002206

Interpretation Approved: 25 March 2014

Issue History

Date Modified Username Field Change
2013-09-17 11:18 geoffclare New Issue
2013-09-17 11:18 geoffclare Name => Geoff Clare
2013-09-17 11:18 geoffclare Organization => The Open Group
2013-09-17 11:18 geoffclare Section => 2.11
2013-09-17 11:18 geoffclare Page Number => 2353
2013-09-17 11:18 geoffclare Line Number => 74957
2013-09-17 11:18 geoffclare Interp Status => ---
2013-09-17 15:11 geoffclare Relationship added related to 0000751
2013-10-03 16:11 Don Cragun Interp Status --- => Pending
2013-10-03 16:11 Don Cragun Note Added: 0001858
2013-10-03 16:11 Don Cragun Status New => Interpretation Required
2013-10-03 16:11 Don Cragun Resolution Open => Accepted
2013-10-03 16:12 Don Cragun Final Accepted Text => See 0000750:0001858.
2013-10-03 16:12 Don Cragun Tag Attached: tc2-2008
2014-02-21 15:40 ajosey Interp Status Pending => Proposed
2014-02-21 15:40 ajosey Note Added: 0002157
2014-03-25 13:43 ajosey Interp Status Proposed => Approved
2014-03-25 13:43 ajosey Note Added: 0002206
2019-06-10 08:55 agadmin Status Interpretation Required => Closed