I did some testing, and came to the conclusion that, Perl only supports signals in a per process semantic, but not a per thread semantic.
The testing I did is simple: I start a process with two threads, then set up $SIG{ALRM} handler, and call alarm. It doesn't matter whether you call alarm from the main thread or the created thread, the SIGALRM is always delivered to the main thread, i.e. the process. You can imagine that, if I only set up $SIG{ALRM} for the created thread, but not the main thread, then the process will go down, which is the default handling for SIGALRM. ( I tried the same thing for SIGINT with CTRL-C)
Did I lie when I say, Perl only supports per process signal? If yes, I lied, then how to do it in a per thread semantic? I only tested Win, is it different on UNIX? especially Solaris, which I know supports per thread semantic.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.