Return to spawn.c CVS log | Up to [local] / src / usr.bin / mg |
File: [local] / src / usr.bin / mg / spawn.c (download)
Revision 1.8, Tue May 20 03:08:55 2003 UTC (21 years ago) by cloder
Finish KNF of prototypes. That should be all of them. OK vincent@ |
/* $OpenBSD: spawn.c,v 1.8 2003/05/20 03:08:55 cloder Exp $ */ /* * Spawn. Actually just suspends Mg. * Assumes POSIX job control. */ #include "def.h" #include <signal.h> #include <termios.h> #include <term.h> /* * This causes mg to send itself a stop signal. It assumes the parent * shell supports POSIX job control. If the terminal supports an alternate * screen, we will switch to it. */ /* ARGSUSED */ int spawncli(int f, int n) { sigset_t oset; /* Very similar to what vttidy() does. */ ttcolor(CTEXT); ttnowindow(); ttmove(nrow - 1, 0); if (epresf != FALSE) { tteeol(); epresf = FALSE; } if (ttcooked() == FALSE) return(FALSE); /* Exit application mode and tidy. */ tttidy(); ttflush(); (void)sigprocmask(SIG_SETMASK, NULL, &oset); (void)kill(0, SIGTSTP); (void)sigprocmask(SIG_SETMASK, &oset, NULL); ttreinit(); /* Force repaint. */ sgarbf = TRUE; return ttraw(); }