View Issue Details

IDProjectCategoryView StatusLast Update
00014921003.1(2016/18)/Issue7+TC2Shell and Utilitiespublic2024-06-11 09:07
Reportergeoffclare Assigned To 
PrioritynormalSeverityObjectionTypeClarification Requested
Status ClosedResolutionAccepted As Marked 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Section1.4 Utility Description Defaults
Page Number2341
Line Number74538
Interp Status---
Final Accepted TextSee 0001492:0005439.
Summary0001492: clarify what "successful completion" means in EXIT STATUS
DescriptionThere are some utilities for which the EXIT STATUS section describes exit status 0 as "Successful completion", but the utility is required to perform more than one action, meaning it is unclear whether all of those actions must succeed in order for the exit status to be 0.

The suggested change is to require that it means all actions must succeed, but also to stop using "Successful completion" for some utilities where this would not be appropriate.
Desired ActionOn page 2341 line 74538 section 1.4 Utility Description Defaults, add to the end of EXIT STATUS:
Default Behavior: When the description of exit status 0 is ``Successful completion'', it means that exit status 0 shall indicate that all of the actions the utility is required to perform were completed successfully.

On page 2870 line 94579 section jobs, after:
When jobs reports the termination status of a job, the shell shall remove its process ID from the list of those ``known in the current shell execution environment''; see [xref to 2.9.3.1].
add:
If a write error occurs when jobs writes to standard output, some process IDs might have been removed from the list but not successfully reported.

On page 2872 line 94663 section jobs, change:
0 Successful completion
to:
0 The output specified in STDOUT was successfully written to standard output.

On page 2873 line 94704 section jobs, add to RATIONALE:
If jobs uses buffered writes to standard output, a write error could be detected when attempting to flush a buffer containing multiple reports of terminated jobs, resulting in some unreported jobs having their process IDs removed from the list of those known in the current shell execution environment (because they were removed when the report was added to the buffer).

On page 2982 line 99046 section make (EXIT STATUS with -q), change:
0 Successful completion

1 The target was not up-to-date.
to:
0 All specified targets were already up-to-date.

1 One or more targets were not up-to-date.

On page 2983 line 99050 section make (EXIT STATUS without -q), change:
0 Successful completion

>0 An error occurred.
to:
0 All specified targets were already up-to-date, or all commands executed to bring targets up-to-date either exited with status 0 or had a non-zero exit status that was specified (via the -i option, the special target .IGNORE, or a '-' command prefix) to be ignored.

>0 An error occurred, or at least one command executed to bring a target up-to-date exited with a non-zero exit status that was not specified to be ignored.

Tagstc3-2008

Relationships

related to 0001495 Closed Exit status 0 for the at utility needs rewriting 
related to 0001497 Closed Exit status 0 for the dd utility needs changing 

Activities

geoffclare

2021-08-12 11:04

manager   bugnote:0005439

I have noticed that the EXIT STATUS section for uniq uses a different wording for what amounts to the same thing as "Successful completion". In order for the updated default requirement to apply to uniq, it needs to use exactly matching wording. Therefore, in addition to the desired action we should make the following change:

On page 3347 line 112747 section uniq, change:
The utility executed successfully.
to:
Successful completion.

Issue History

Date Modified Username Field Change
2021-07-29 13:53 geoffclare New Issue
2021-07-29 13:53 geoffclare Name => Geoff Clare
2021-07-29 13:53 geoffclare Organization => The Open Group
2021-07-29 13:53 geoffclare Section => 1.4 Utility Description Defaults
2021-07-29 13:53 geoffclare Page Number => 2341
2021-07-29 13:53 geoffclare Line Number => 74538
2021-07-29 13:53 geoffclare Interp Status => ---
2021-07-30 15:25 geoffclare Relationship added related to 0001495
2021-08-05 14:25 geoffclare Relationship added related to 0001497
2021-08-12 11:04 geoffclare Note Added: 0005439
2021-11-18 17:24 Don Cragun Final Accepted Text => See 0001492:0005439.
2021-11-18 17:24 Don Cragun Status New => Resolved
2021-11-18 17:24 Don Cragun Resolution Open => Accepted As Marked
2021-11-18 17:26 Don Cragun Tag Attached: tc3-2008
2021-12-13 15:23 geoffclare Status Resolved => Applied
2024-06-11 09:07 agadmin Status Applied => Closed