Exemple #1
0
/* ^Y */
static void tstop()
{
    /* Nothing if inhibited */
    if(nosignal) {
	return;
    }

    lcreat((char *)0);
    clearvt100();
    lflush();
    signal(SIGTSTP, SIG_DFL);

#ifdef SIGVTALRM
    /* Looks like BSD4.2 or higher - must clr mask for signal to take effect */

    sigset_t set;
    sigprocmask(0, NULL, &set);
    sigprocmask(~BIT(SIGTSTP) & SIG_BLOCK, &set, NULL);
#endif

    kill(getpid(), SIGTSTP);
    setupvt100();
    signal(SIGTSTP, tstop);

    if(predostuff == 1) {
	s2choose();
    }
    else {
	drawscreen();
    }

    showplayer();
    lflush();
}
Exemple #2
0
static void
cntlc()	/* what to do for a ^C */
	{
	if (nosignal) return;	/* don't do anything if inhibited */
	signal(SIGQUIT,SIG_IGN);	signal(SIGINT,SIG_IGN);
	quit(); if (predostuff==1) s2choose(); else showplayer();
	lflush();
	signal(SIGQUIT,cntlc);	signal(SIGINT,cntlc);
	}
Exemple #3
0
static void
tstop() /* control Y	*/
	{
	if (nosignal)   return;  /* nothing if inhibited */
	lcreat((char*)0);  clearvt100();	lflush();	  signal(SIGTSTP,SIG_DFL);
#ifdef SIGVTALRM
	/* looks like BSD4.2 or higher - must clr mask for signal to take effect*/
	sigsetmask(sigblock(0)& ~BIT(SIGTSTP));
#endif
	kill(getpid(),SIGTSTP);

	setupvt100();  signal(SIGTSTP,tstop);
	if (predostuff==1) s2choose(); else drawscreen();
	showplayer();	lflush();
	}
Exemple #4
0
/* What to do for a ^C */
static void cntlc()
{
    /* Don't do anything if inhibited */
    if(nosignal) {
	return;
    }

    signal(SIGQUIT, SIG_IGN);
    signal(SIGINT, SIG_IGN);
    quit();

    if(predostuff == 1) {
	s2choose();
    }
    else {
	showplayer();
    }

    lflush();
    signal(SIGQUIT, cntlc);
    signal(SIGINT, cntlc);
}