Hi,

I'm trying to clean up the way our stapdyn mutator deals with signals in
the mutatee, and I've run into a couple weird issues.

First, sometimes BPatch_process::isTerminated() returns true, but then
BPatch_process::terminationStatus() returns NoExit.  I can reproduce
this easily by sending SIGTERM from a shell to the mutatee, then my
mutator sees the terminated/NoExit state.  Of course in this case, I
expect ExitedViaSignal.  Is there synchronization or something I should
do to get that proper exit status?

Second, mutatee SIGINTs are getting squashed altogether.  I discovered
this is because unix.C PCEventHandler::shouldStopForSignal() is
apparently treating SIGINT the same as SIGSTOP.  This sets
shouldForwardSignal=false in PCEventHandler::handleSignal(), so it
doesn't get delivered.  This was added in a huge commit, 785d4029, which
doesn't help me figure out why SIGINT should be treated this way.

I'd appreciate any input on these two issues.

Thanks,
Josh
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to