Annotation of 42BSD/usr.lib/libcurses/tstp.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.