Hi, I found that the problem is coming from the fact that I use process.Options := ProcessB.Options + [poUsePipes];
If I switch that off, process B does execute the signal handling code. Is this a bug or am I missing something? Thx, Tom -----Original Message----- From: fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] On Behalf Of Henry Vermaak Sent: maandag 30 maart 2009 16:37 To: FPC-Pascal users discussions Subject: Re: [fpc-pascal] sending signal to child process 2009/3/30 Tom Carly <tom.ca...@commsquare.com>: > Hi, > > > > I have a process A that starts another process B (with TProcess.Create). > > I introduced signal handling for SIGHUP, SIGTERM and SIGINT in process A and > process B. > > The signal handling of process A triggers a call to > "fpkill(processA.processid, SIGTERM)" (or "processA.Terminate(0)"). do you mean processB.processid here? > > This code is executed when killing process A. > > The problem is that the signal handling code of process B is not executed > when killing process A (although process B does get killed). > > If I launch process B separately and kill it, then the signal handling code > of process B is executed. It seems that the signal that is sent from process > A to process B is not the same as when you kill it via the command line. are the permissions the same for the two processes? are you sending sigterm from the commandline, too? i've done something similar before, but using a different signal. that shouldn't matter, since sigterm can be blocked (unlike sigkill and sigstop). henry _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal