|
|
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.