Alarm::_TieSIG - Module handling tying of %SIG for alarm extensions.
This is an internal utility module for use with the Alarm::* alarm extensions, that handles tying of the Perl built-in variable %SIG. This is deep magic and you use this module at your own risk.
%SIG
To use this class, simply use it and then call the Alarm::_TieSIG::tiesig() function. This replaces %SIG with a dummy tied hash.
use
Alarm::_TieSIG::tiesig()
Whenever the new %SIG is accessed, this class checks to see if the requested key is ALRM. If so, it calls sethandler() for STORE's, and gethandler() for FETCHes. You must provide both of these methods in your package.
sethandler()
gethandler()
All other operations are passed on to the original, magic %SIG.
Note: Do not call tiesig() more than once. Doing so produces a warning and no other effects.
tiesig()
The following code will disable, with warnings, attempts to set SIGALRM handlers in your program (although it's not impossible to get past if someone really wanted to):
use Alarm::_TieSIG; Alarm::_TieSIG::tiesig(); sub sethandler { warn "\$SIG{ALRM} has been disabled.\n"; } sub gethandler { warn "\$SIG{ALRM} has been disabled.\n"; }
This module is not guaranteed to work. In fact, it will probably break at the most inconvient time. If this module breaks your program, destroys your computer, ruins your life, or otherwise makes you unhappy, do not complain (especially not to me). It's your own fault.
Written by Cory Johns (c) 2001.
To install Alarm::Queued, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Alarm::Queued
CPAN shell
perl -MCPAN -e shell install Alarm::Queued
For more information on module installation, please visit the detailed CPAN module installation guide.