+
+ /* tt_open() messes with our signal handler flags (at least when no
+ ttsessions is running on the machine), therefore we save the
+ actions and restore them after the call */
+#ifdef HAVE_SIGPROCMASK
+ {
+ struct sigaction ActSIGQUIT;
+ struct sigaction ActSIGINT;
+ struct sigaction ActSIGCHLD;
+ sigaction (SIGQUIT, NULL, &ActSIGQUIT);
+ sigaction (SIGINT, NULL, &ActSIGINT);
+ sigaction (SIGCHLD, NULL, &ActSIGCHLD);
+#endif