Hi Harald, thanks for the patch. I tested it against source tarball (0.5.7) and it works for me. It works with the example scripts and with my script of parallel ssh (tested with case of multiple of 4 jobs). many thanks for the support Luigi On Tue, Jul 30, 2013 at 12:47 AM, Harald van Dijk <harald@xxxxxxxxxxx> wrote: > On 29/07/13 23:44, Luigi Tarenga wrote: >> hi list, >> while writing a script to execute parallel ssh command on many host I found >> a strange behavior of dash. I can replicate it with a very simple script but >> didn't find any documentation about dash or POSIX that can explain it. >> >> tested on centos 6.4 (dash 0.5.5.1) and wih dash compiled from source (0.5.7) >> the following script reports error: >> >> #!/bin/dash >> >> sleep 3 & >> sleep 3 & >> sleep 3 & >> sleep 3 & >> >> #/bin/true >> jobs -l >> >> wait %1 >> wait %2 >> wait %3 >> wait %4 >> >> [vortex@lizard ~]$ ./dash-0.5.7/src/dash test.sh >> [4] + 4569 Running >> [3] - 4568 Running >> [2] 4567 Running >> [1] 4566 Running >> prova: 14: wait: No such job: %4 >> [vortex@lizard ~]$ echo $? >> 2 > > Yes, this looks like a bug to me. The number of allocated jobs is always > kept as a multiple of four, and the first check in considering whether > the job number is valid is "if it's greater than or equal to the number > of allocated job, it's invalid". That doesn't look right. That would > only be right if jobs were zero-based, but they aren't. If it's exactly > equal to the number of available jobs, it can still be valid. It works > when adding /bin/true, because four more more jobs end up allocated > internally. > > The attached patch should fix it. > > Cheers, > Harald -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html