| 117 | static int huge_need_recover; |
| 118 | |
| 119 | static void |
| 120 | huge_register_sigbus(void) |
| 121 | { |
| 122 | sigset_t mask; |
| 123 | struct sigaction action; |
| 124 | |
| 125 | sigemptyset(&mask); |
| 126 | sigaddset(&mask, SIGBUS); |
| 127 | action.sa_flags = 0; |
| 128 | action.sa_mask = mask; |
| 129 | action.sa_handler = huge_sigbus_handler; |
| 130 | |
| 131 | huge_need_recover = !sigaction(SIGBUS, &action, &huge_action_old); |
| 132 | } |
| 133 | |
| 134 | static void |
| 135 | huge_recover_sigbus(void) |