|
|
1.1 root 1: # include <signal.h>
2:
3: # include "curses.ext"
4:
5: /*
6: * handle stop and start signals
7: *
8: * 6/25/83 (Berkeley) @(#)tstp.c 1.3
9: */
10: tstp() {
11:
12: # ifdef SIGTSTP
13:
14: SGTTY tty;
15: int omask;
16: # ifdef DEBUG
17: if (outf)
18: fflush(outf);
19: # endif
20: tty = _tty;
21: mvcur(0, COLS - 1, LINES - 1, 0);
22: endwin();
23: fflush(stdout);
24: /* reset signal handler so kill below stops us */
25: signal(SIGTSTP, SIG_DFL);
26: #define mask(s) (1 << ((s)-1))
27: omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP));
28: kill(0, SIGTSTP);
29: sigblock(mask(SIGTSTP));
30: signal(SIGTSTP, tstp);
31: _tty = tty;
32: stty(_tty_ch, &_tty);
33: wrefresh(curscr);
34: # endif SIGTSTP
35: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.