- if (action == Break) {
- raise(SIGINT);
- } else {
- sigemptyset(&ss);
- sigaddset(&ss, SIGINT);
- sigwaitinfo(&ss, NULL);
- }
+ indicate(key);
+ sigwaitinfo(&ss, NULL);
+ sigaction(SIGINT, &psa, NULL);
+ indicate(NULL);
+ sigprocmask(SIG_SETMASK, &oss, NULL);
+ NOTICE("DEBUG WAIT after %s", key);
+#if !defined(NO_CALL_PERSONALITY)
+ personality((unsigned long)-1L);
+#endif
+ }
+ if (has_key(key, secure_getenv(key_env_break))) {
+ NOTICE("DEBUG BREAK before %s", key);
+ memset(&sa, 0, sizeof sa);
+ sa.sa_handler = handler;
+ sigaction(SIGINT, &sa, &psa);
+ raise(SIGINT);