Jobs won't start using pdsh if script fd >= 10
Bug #757244 reported by
Jacek Konieczny
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
upstart |
Fix Released
|
High
|
Scott James Remnant | ||
PLD Linux |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
After upgrading Upstart to 1.2 I found some of my jobs not starting (exiting with code '127'). After some investigation I found out that Upstart prepends 'exec 10<&-' to the scripts of the failing jobs, to close the input pipe. The problem is this won't work for some POSIX shells, which can handle only single-digit file descriptors this way. This works for the big and heavy bash, but won't for under PDKSH (used as /bin/sh in e.g. PLD Linux).
Can upstart be made to use some fixed file descriptor for this task? e.g. '3'?
Changed in upstart: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in upstart: | |
status: | Fix Committed → Fix Released |
Changed in pld-linux: | |
status: | New → Fix Released |
To post a comment you must log in.
Attaching a quick hack (not an elegant solution) which solves the problem for me (the script fd is dup2()ed to fd #3 in the child process).