|
Lines 109-122
Link Here
|
| 109 |
# Note: custom handler flags only currently applied to ifndef, as use with ifdef might |
109 |
# Note: custom handler flags only currently applied to ifndef, as use with ifdef might |
| 110 |
# unexpectedly overwrite user flags, if user is using POSIX::sigaction to set signals. |
110 |
# unexpectedly overwrite user flags, if user is using POSIX::sigaction to set signals. |
| 111 |
|
111 |
|
| 112 |
if (defined $flags && ref($sig->{$k}) eq 'CODE') { |
112 |
|
| 113 |
untie %SIG; |
113 |
# |
| 114 |
set_sig_handler($k, $sig->{$k}, { |
114 |
# SOMEHOW THIS F*CK UPS openSUSE 10.3 -> 11.1 perl (Some memory stuff?). |
| 115 |
flags => $flags, |
115 |
# I don't know why this work on Ubuntu or anyone else? |
| 116 |
safe => $] < 5.008002 ? 0 : 1 |
116 |
# If removed everything seems to work as expected. |
| 117 |
}); |
117 |
# |
| 118 |
tie %SIG, __PACKAGE__; |
118 |
#if (defined $flags && ref($sig->{$k}) eq 'CODE') { |
| 119 |
} |
119 |
# untie %SIG; |
|
|
120 |
# set_sig_handler($k, $sig->{$k}, { |
| 121 |
# flags => $flags, |
| 122 |
# safe => $] < 5.008002 ? 0 : 1 |
| 123 |
# }); |
| 124 |
# tie %SIG, __PACKAGE__; |
| 125 |
#} |
| 120 |
|
126 |
|
| 121 |
return $s; |
127 |
return $s; |
| 122 |
} |
128 |
} |