|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T t ┃
Length: 841 (0x349) Types: TextFile Names: »tstp.c.new«
└─⟦87ddcff64⟧ Bits:30001253 CPHDIST85 Tape, 1985 Autumn Conference Copenhagen └─ ⟦this⟧ »cph85dist/new_curses/tstp.c.new«
# include <signal.h> # include "curses.ext" /* * handle stop and start signals * * 6/25/83 (Berkeley) @(#)tstp.c 1.3 */ tstp() { # ifdef SIGTSTP int ttyflags; int omask; # ifdef DEBUG if (outf) fflush(outf); # endif ttyflags = _tty.sg_flags; /* store curses state */ mvcur(0, COLS - 1, LINES - 1, 0); endwin(); fflush(stdout); /* reset signal handler so kill below stops us */ signal(SIGTSTP, SIG_DFL); #define mask(s) (1 << ((s)-1)) omask = sigsetmask(sigblock(0) &~ mask(SIGTSTP)); kill(0, SIGTSTP); /* pc stops here */ /* okay, we started up again. */ sigsetmask(omask); signal(SIGTSTP, tstp); savetty(); /* re-remember the virgin state */ _tty.sg_flags = ttyflags; /* restore special curses state */ ioctl(_tty_ch, TIOCSETN, &_tty); _puts(TI); /* should we do VS too? */ wrefresh(curscr); # endif SIGTSTP }