Anonymous | Login | 2024-05-03 00:43 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0000760 | [1003.1(2013)/Issue7+TC1] Shell and Utilities | Objection | Error | 2013-10-07 09:56 | 2019-06-10 08:55 | ||
Reporter | geoffclare | View Status | public | ||||
Assigned To | |||||||
Priority | normal | Resolution | Accepted | ||||
Status | Closed | ||||||
Name | Geoff Clare | ||||||
Organization | The Open Group | ||||||
User Reference | |||||||
Section | 2.9.3.1 | ||||||
Page Number | 2342 | ||||||
Line Number | 74502 | ||||||
Interp Status | Approved | ||||||
Final Accepted Text | See Note: 0001929 | ||||||
Summary | 0000760: asynchronous list assignment of stdin should depend on job control | ||||||
Description |
XCU 2.9.3.1 Asynchronous Lists states: The standard input for an asynchronous list, before any explicit redirections are performed, shall be considered to be assigned to a file that has the same properties as /dev/null. If it is an interactive shell, this need not happen. What matters here is not whether the shell is interactive or not, but whether job control is enabled or not. Also, I'm not sure why this behaviour is allowed when job control is enabled. It means that users cannot rely on being able to start an interactive program in the background and then use "fg" to bring it to the foreground when they need to provide it with some input (having been notified that it was stopped with SIGTTIN). The desired action disallows the behaviour when job control is enabled, as I believe this change would be non-controversial. However, if this change is not felt to be appropriate for TC2, it could be deferred until Issue 8 (in which case the change in TC2 should say "may" instead of "shall not"). |
||||||
Desired Action |
Change: The standard input for an asynchronous list, before any explicit redirections are performed, shall be considered to be assigned to a file that has the same properties as /dev/null. If it is an interactive shell, this need not happen. to: If job control is disabled (see set -m), the standard input for an asynchronous list, before any explicit redirections are performed, shall be considered to be assigned to a file that has the same properties as /dev/null. This shall not happen if job control is enabled. |
||||||
Tags | tc2-2008 | ||||||
Attached Files | |||||||
|
Relationships | |||||||
|
Notes | |
(0001929) nick (manager) 2013-10-17 15:50 |
Interpretation response ------------------------ The standard states that interactive shells need not reassign standard input, and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor. Rationale: ------------- This does not match existing practice. Notes to the Editor (not part of this interpretation): ------------------------------------------------------- Make the changes suggested in the Desired Action. |
(0002154) ajosey (manager) 2014-02-21 15:39 |
Interpretation Proposed 21 Feb 2014 |
(0002197) ajosey (manager) 2014-03-25 13:41 |
Interpretation Approved: 25 March 2014 |
(0004410) stephane (reporter) 2019-06-08 06:11 |
Even for non-interactive shells, redirecting stdin to /dev/null when asynchronous is not particularly useful, and has to be worked around probably at least as often as it is useful. Some shells don't do it. zsh never does it, bash does not do it when that asynchronous list is one single pipeline. It may be more useful to leave it unspecified then (that might have been the original intention behind the original text: don't do it when interactive, unspecified when not). It may help to add an informative section that shows how to work around it: "{ cmd <&3 3<&- & } 3<&0" instead of "cmd &" BTW, that whole 2.9.3.1 section is incorrect as it refers to "commands" instead of "AND-OR lists". The whole part about the PID doesn't make sense in the context of an "AND-OR list" with more than one part. I'll raise a separate issue about that. |
(0004411) stephane (reporter) 2019-06-08 06:24 edited on: 2019-06-08 06:28 |
According to 2.9.3.1's "In all cases, explicit redirection of standard input shall override this activity" cmd <&0 & should be another work around. While that works in bash, yash (and of course zsh), it doesn't in bosh, dash, ksh93, pdksh, ksh88 (even /usr/xpg4/bin/sh on Solaris). The wording should be updated to say something like: wherever that happens, it shall happen before the explicit redirection of the command are processed. An implementation may choose not to do it at all if the stdin of the command is redirected. |
(0004413) geoffclare (manager) 2019-06-10 08:46 |
The changes arising from this bug were applied in POSIX.1-2008 TC2, so this is not the right place to request further changes. (All of the bugs tagged tc2-2008 should have been closed some time ago to prevent this situation arising.) Re: Note: 0004411 <&0 is a no-op, so it's unclear whether it counts as "explicit redirection of standard input". |
Issue History | |||
Date Modified | Username | Field | Change |
2013-10-07 09:56 | geoffclare | New Issue | |
2013-10-07 09:56 | geoffclare | Name | => Geoff Clare |
2013-10-07 09:56 | geoffclare | Organization | => The Open Group |
2013-10-07 09:56 | geoffclare | Section | => 2.9.3.1 |
2013-10-07 09:56 | geoffclare | Page Number | => 2342 |
2013-10-07 09:56 | geoffclare | Line Number | => 74502 |
2013-10-07 09:56 | geoffclare | Interp Status | => --- |
2013-10-17 15:50 | nick | Interp Status | --- => Pending |
2013-10-17 15:50 | nick | Note Added: 0001929 | |
2013-10-17 15:50 | nick | Status | New => Interpretation Required |
2013-10-17 15:50 | nick | Resolution | Open => Accepted |
2013-10-17 15:50 | nick | Final Accepted Text | => See Note: 0001929 |
2013-10-17 15:59 | nick | Tag Attached: tc2-2008 | |
2014-02-21 15:39 | ajosey | Interp Status | Pending => Proposed |
2014-02-21 15:39 | ajosey | Note Added: 0002154 | |
2014-03-25 13:41 | ajosey | Interp Status | Proposed => Approved |
2014-03-25 13:41 | ajosey | Note Added: 0002197 | |
2019-06-08 06:11 | stephane | Note Added: 0004410 | |
2019-06-08 06:24 | stephane | Note Added: 0004411 | |
2019-06-08 06:28 | stephane | Note Edited: 0004411 | |
2019-06-10 08:46 | geoffclare | Note Added: 0004413 | |
2019-06-10 08:55 | agadmin | Status | Interpretation Required => Closed |
2019-07-15 15:38 | Don Cragun | Relationship added | related to 0001254 |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |