Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Signals in Strawberry Perl: Name or number?

by afoken (Parson)
on Sep 13, 2009 at 10:52 UTC ( #794982=note: print w/ replies, xml ) Need Help??


in reply to Signals in Strawberry Perl: Name or number?

Strawberry Perl runs on Windows. Windows does not have signals. POSIX systems like Linux have signals.

Perl emulates some minor aspects of kill() on Windows, but you can't expect the emulation to be perfect.

From perlport:

kill() doesn't have the semantics of raise(), i.e. it doesn't send a signal to the identified process like it does on Unix platforms. Instead kill($sig, $pid) terminates the process identified by $pid, and makes it exit immediately with exit status $sig. As in Unix, if $sig is 0 and the specified process exists, it returns true without actually terminating it. (Win32)
kill(-9, $pid) will terminate the process specified by $pid and recursively all child processes owned by it. This is different from the Unix semantics, where the signal will be delivered to all processes in the same process group as the process specified by $pid. (Win32)

From perlwin32:

Signal handling may not behave as on Unix platforms (where it doesn't exactly "behave", either :). For instance, calling die() or exit() from signal handlers will cause an exception, since most implementations of signal() on Win32 are severely crippled. Thus, signals may work only for simple things like setting a flag variable in the handler. Using signals under this port should currently be considered unsupported.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)


Comment on Re: Signals in Strawberry Perl: Name or number?
Select or Download Code
Re^2: Signals in Strawberry Perl: Name or number?
by bv (Friar) on Sep 14, 2009 at 13:37 UTC

    Thanks to everyone who has answered, and especially afoken for pointing me to a couple docs I hadn't read. Very helpful!

    print pack("A25",pack("V*",map{1919242272+$_}(34481450,-49737472,6228,0,-285028276,6979,-1380265972)))

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://794982]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2014-08-23 09:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (173 votes), past polls