コード例 #1
0
ファイル: tty.c プロジェクト: DragonQuan/minix3
int
endwin(void)
{
#ifdef DEBUG
	__CTRACE(__CTRACE_MISC, "endwin\n");
#endif
	return __stopwin();
}
コード例 #2
0
ファイル: tstp.c プロジェクト: VargMon/netbsd-curses
/*
 * stop_signal_handler --
 *	Handle stop signals.
 */
void
__stop_signal_handler(/*ARGSUSED*/int signo)
{
	sigset_t oset, set;

	/*
	 * Block window change and timer signals.  The latter is because
	 * applications use timers to decide when to repaint the screen.
	 */
	(void) sigemptyset(&set);
	(void) sigaddset(&set, SIGALRM);
	(void) sigaddset(&set, SIGWINCH);
	(void) sigprocmask(SIG_BLOCK, &set, &oset);

	/*
	 * End the window, which also resets the terminal state to the
	 * original modes.
	 */
	__stopwin();

	/* Unblock SIGTSTP. */
	(void) sigemptyset(&set);
	(void) sigaddset(&set, SIGTSTP);
	(void) sigprocmask(SIG_UNBLOCK, &set, NULL);

	/* Stop ourselves. */
	(void) kill(0, SIGTSTP);

	/* Time passes ... */

	/* restart things */
	__restartwin();

	/* Reset the signals. */
	(void) sigprocmask(SIG_SETMASK, &oset, NULL);
}
コード例 #3
0
ファイル: tstp.c プロジェクト: VargMon/netbsd-curses
int
reset_shell_mode(void)
{
	return __stopwin();
}