A while back, someone was having trouble
running system() while use'ing Inline::Octave.
The issue frustrated me, because I couldn't find
a correct way not to override any SIG{} settings
of the module user's code, in order to set signal
handlers within the module.
I've found a solution, and I'm announcing a new version:
Inline-Octave-0.21
The solution is to set a local SIG handler just
before interacting with the octave process:
{
local $SIG{CHLD}= \&reap_interpreter;
local $SIG{PIPE}= \&reap_interpreter;
print $Oin " ... commands ...";
# read from $Oout;
}
This means that user code is mostly unlikely
to get sent to &reap_interpreter. I've modified
&reap_interpreter to try to do a reasonable
thing, as well.
andy