[Bug 757244] Re: Jobs won't start using pdsh if script fd >= 10

Arkadiusz Miśkiewicz arekm at pld-linux.org
Tue Apr 12 11:35:39 CEST 2011


Jacek also found this:

"Open files are represented by decimal numbers starting with zero. The
largest possible value is implementation-dependent; however, all
implementations support at least 0 to 9, inclusive, for use by the
application. These numbers are called file descriptors. "

http://pubs.opengroup.org/onlinepubs/007908799/xcu/chap2.html

so posix shells are required to support file descriptiors 0-9 only.

-- 
You received this bug notification because you are subscribed to PLD
Linux.
https://bugs.launchpad.net/bugs/757244

Title:
  Jobs won't start using pdsh if script fd >= 10

Status in Upstart:
  New
Status in PLD Linux Distribution:
  New

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'?


More information about the pld-bugs mailing list