- my $sig;
- if (defined $opts{sig}) {
- $sig = int $opts{sig};
- $sig += SIG_MIN if $sig < SIG_MIN;
- $sig %= SIG_MAX + 1 if $sig > SIG_MAX;
- } else {
- $sig = gensig();
- }
- return _wizard($sig, map { $opts{$_} } qw/get set len clear free data/);