A NOTE has been added to this issue. 
====================================================================== 
https://austingroupbugs.net/view.php?id=1801 
====================================================================== 
Reported By:                mohd_akram
Assigned To:                
====================================================================== 
Project:                    Issue 8 drafts
Issue ID:                   1801
Category:                   Shell and Utilities
Type:                       Enhancement Request
Severity:                   Editorial
Priority:                   normal
Status:                     Resolved
Name:                       Mohamed Akram 
Organization:                
User Reference:              
Section:                    xargs 
Page Number:                3600-3601 
Line Number:                123162, 123252 
Final Accepted Text:        See
https://austingroupbugs.net/view.php?id=1801#c6657. 
Resolution:                 Accepted As Marked
Fixed in Version:           
====================================================================== 
Date Submitted:             2024-01-25 21:39 UTC
Last Modified:              2024-02-16 11:31 UTC
====================================================================== 
Summary:                    xargs: add -P option
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0001811 xargs: add -P option to FUTURE DIRECTIO...
====================================================================== 

---------------------------------------------------------------------- 
 (0006660) kre (reporter) - 2024-02-16 11:31
 https://austingroupbugs.net/view.php?id=1801#c6660 
---------------------------------------------------------------------- 
Please, I thought the bad old days of just copying man page descriptions
were beyond us - things really need to be better than this.

There's not nearly enough description of what is supposed to be happening
with this option to expect an implementation to do what is expected
(whatever
that is).

For example, how are the args read from stdin supposed to be apportioned
amongst the parallel invocations of the utility?   One might expect that
perhaps the idea is to read enough args until the command line limit is
reached, and then start reading more for the next parallel invocation.
But that means that if there happen to be not all that many args, then
perhaps no parallelism would be achieved, when if less args had been
allocated to each invocation, more parallel instances could have been
invoked.

Or, we could allocate the args to intended utility invocations
round-robin,
first arg read to the first invocation, 2nd to the second, ... until there
have been maxprocs args read (assuming there are that many on stdin)
after which we add a second arg to the first invocation, etc.   This
avoids
the issue mentioned for the previous style, but does mean that xargs
doesn't
start invoking anything for longer - if utility is fast enough, it might
be
able to process its args faster than xargs is able to read from stdin and
prepare the args for the subsequent process - resulting in an overall
slowdown
from running in parallel, rather than a speedup.

Beyond that, "execute ... concurrently" might be read as meaning that all
the
(up to maxprocs) invvocations should be made to run at the same time.  To
achieve that, the implementation would need to start them all at the same
time,
otherwise the first started might finish before the last is ready to
commence,
so they wouldn't be running concurrently.  I doubt that's what is intended,
but
perhaps.

And even more, how are these parallel invocations expected to interact
with
the CONSEQUENCES OF ERRORS section of the spec (page 3603 in D4 of I8).
That is, if an invocation of utility does exit 255, or is killed by a
signal, how is xargs supposed to terminate without processing any further
input, when it has already processed more, and started more invocations of
the utility?  And what is to be done with those other invocations still
running when one exits in one of those ways - are they to be killed,
orphaned, or is xargs to wait for them to finish before terminating?
In that latter case, should more diagnostic messages be written if more
of the invocations also exit 255, or via a signal?

There may be more issues I haven't yet realised.

This needs to go back to the drawing board and start all over again, with
a much more comprehensive and standards worthy wording added.

But there's no hurry, as this is to be an Issue 9 change, there is perhaps
a decade or two before an actual resolution is needed. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2024-01-25 21:39 mohd_akram     New Issue                                    
2024-01-25 21:39 mohd_akram     Name                      => Mohamed Akram   
2024-01-25 21:39 mohd_akram     Section                   => xargs           
2024-01-25 21:39 mohd_akram     Page Number               => 3600-3601       
2024-01-25 21:39 mohd_akram     Line Number               => 123162, 123252  
2024-02-15 16:47 geoffclare     Relationship added       related to 0001811  
2024-02-15 16:52 Don Cragun     Note Added: 0006657                          
2024-02-15 16:53 Don Cragun     Status                   New => Resolved     
2024-02-15 16:53 Don Cragun     Resolution               Open => Accepted As
Marked
2024-02-15 16:55 Don Cragun     Note Edited: 0006657                         
2024-02-15 16:55 Don Cragun     Tag Attached: issue9                         
2024-02-15 16:59 Don Cragun     Note Edited: 0006657                         
2024-02-15 17:01 Don Cragun     Final Accepted Text       => See
https://austingroupbugs.net/view.php?id=1801#c6657.
2024-02-16 11:31 kre            Note Added: 0006660                          
======================================================================


  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
      • Re:... Steffen Nurpmeso via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group
    • [Issue ... Austin Group Bug Tracker via austin-group-l at The Open Group

Reply via email to