Mail Archives: djgpp/1999/01/06/04:41:09
On 6 Jan 1999, Tarragon Allen wrote:
> Unfortunately also, SIGCLD is not defined anywhere in the djgpp header
> files. I guess this makes sense, DOS not having the functionality to
> support child processes, etc.
DJGPP *does* support child processes (otherwise, how could a ported
Bash be useful?). What DJGPP does NOT support is the signal called
SIGCLD or SIGCHLD. This signal is supposed to be delivered to the
parent program when the child program exits. Since this signal only
makes sense when a child program can run asynchronously with the
parent (otherwise, you always know when the child exits), it is not
supported.
> Is the bash code in error by trying to compile something that
> refers to SIGCHLD when JOB_CONTROL is undefined?
It is usually a good idea to only use a signal name if it is defined,
like this:
#ifdef SIGCLD
... code that uses SIGCLD ...
#endif
However, it could be that large parts of Bash don't make sense without
SIGCLD/SIGCHLD, so the above paradigm might not be good enough.
> What shall I do to work around this: define SIGCLD/SIGCHLD with
> (somewhat arbitrary) values? Define JOB_CONTROL and pray?
I suggest to look at the changes introduced by Daisuke Aoyama into the
port of Bash 1.14.7, and do something similar. This port is
exceptionally well done, so it should be a good place to start your
work.
- Raw text -