in reply to Threads and signals in Windows
Using signal in an inappropriate way can result in a stochastic behaviour of Perl programs. I have seen cases when this not just influence the Perl program, but also other processes in the Windows system. In some cases it is even not possible to switch off the system in the normal way.
Sorry n'all, but that is garbage! Whilst you may have seen some symptoms like these and have attributed them to the use of signals; I'll bet that you cannot post code to demonstrate it.
As for the rest: Unix Signals are (one of several) "Unfixable designs". And most all the caveats and warnings you quoted from the MS docs for TerminateThread() are equally applicable to causing any piece of code to be interrupted without resumption using a longjump. Ie. Signals.
As an IPC mechanism, that only conveys 1 bit of information and is edge triggered -- ie. missable unless you happen to be ready for them -- signals are a piss poor substitute for proper IPC mechanisms.
And the need to use them to abandon in-progress processing is a sign of badly designed code. Describe the use case for using them and I'll outline a better way of tackling the problem. (Though it may or may not be currently available from Perl.)
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Threads and signals in Windows
by bojinlund (Monsignor) on Mar 09, 2013 at 08:54 UTC | |
by BrowserUk (Patriarch) on Mar 09, 2013 at 16:37 UTC | |
by bojinlund (Monsignor) on Mar 10, 2013 at 07:01 UTC | |
by BrowserUk (Patriarch) on Mar 10, 2013 at 10:15 UTC |