NAME
POSIX::SigAction - represent a struct sigaction
SYNOPSIS
$sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
$sigaction = POSIX::SigAction
->new(\&handler, $sigset, SA_NOCLDSTOP);
$sigset = $sigaction->mask;
$sigaction->flags(SA_RESTART);
$sigaction->safe(1);
DESCRIPTION
The POSIX::SigAction
object corresponds to the C struct sigaction
, defined by signal.h
.
This module is a bit tricky: POSIX.pm contains the same code for the POSIX::SigAction
namespace. However, we do not need POSIX.pm but only the POSIX.xs component which has the namespace hard-coded.
METHODS
Constructors
- POSIX::SigAction->new(HANDLER, [SIGSET, [FLAGS]])
-
The first parameter is the handler, a code reference. The second parameter is a POSIX::SigSet object, it defaults to the empty set. The third parameter contains the
sa_flags
, it defaults to 0.This object will be destroyed automatically when it is no longer needed.
Accessors
- $obj->flags()
-
Accessor functions to get/set the values of a SigAction object.
- $obj->handler()
- $obj->mask()
- $obj->safe()
-
Accessor function for the "safe signals" flag of a SigAction object; see perlipc for general information on safe (a.k.a. "deferred") signals. If you wish to handle a signal safely, use this accessor to set the "safe" flag in the
POSIX::SigAction
object:$sigaction->safe(1);
You may also examine the "safe" flag on the output action object which is filled in when given as the third parameter to POSIX::1003::Signals::sigaction():
sigaction(SIGINT, $new_action, $old_action); if ($old_action->safe) { # previous SIGINT handler used safe signals }
SEE ALSO
This module is part of POSIX-1003 distribution version 0.07, built on December 28, 2011. Website: http://perl.overmeer.net. The code is based on POSIX, which is released with Perl itself.
COPYRIGHTS
Copyrights of the perl code and the related documentation by 2011 by Mark Overmeer. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html