FidoNet Echomail Archive
sync_programming

<<< Previous Index Next >>>

From: deuce
To: CVS commit
Date: 2019-01-19 01:26:04
Subject: src/conio/curs_cio.c

src/conio curs_cio.c 1.41 1.42
Update of /cvsroot/sbbs/src/conio
In directory cvs:/tmp/cvs-serv6906

Modified Files:
	curs_cio.c 
Log Message:
Attempt to fix Linux weirdness with UIFC jsexec things.

Basically, this just tracks if curses is already suspended or not and if it
is, does not call noraw() and endwin() again.  This should fix the issue on
Linux since well-behaved scripts will call uifc.bail() before they exit.

It appears what's happening is that jsexec sets the terminal as raw, then
ciolib is initialized at which point ncurses saves the current terminal state.
Before exiting, jsexec sets the terminal back to cooked mode, then exits.
atexit() ciolib calls curs_suspend() which calls endwin() which restores
the previously saved terminal state (ie: raw).



--- SBBSecho 3.06-Linux
 * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
SEEN-BY: 103/705 154/10 203/0 218/700 221/0 229/275 426 240/5832 261/38
SEEN-BY: 280/464 5003 396/45 423/120 633/0 267 280 281 384 408 412 509 712/132
SEEN-BY: 712/848 770/1
@PATH: 103/705 280/464 712/848 633/280 267


<<< Previous Index Next >>>