On tisdag, feb 25, 2003, at 03:45 Europe/Stockholm, KONG LI wrote:
Perl 5.8.0 has safe signal (http://www.perldoc.com/perl5.8.0/pod/perldelta.html#Safe-Signals) where signals are disabled during the execution of each op code.
Can we still claim safe signal in the case of an multi-threaded application where each thread has its own instance of perl engine (based on ithread)? Afterall, the scope of signal is per process, not per thread.
If the answer is no, is there any way to work around it with perl 5.8.0 (other than mutex all threads)?
Thanks.
Kong
Yes, you have safe signals, however they will interface with the process as if it was a normal C program, we don't do any magic to make the signals be delivered to what you thing ought to be the correct thread, you must use all the signal magic of POSIX.pm to do that.
Arthur
