X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Ftty%2Flib_tstp.c;h=dd925c7efd12b16045644b4e324bedb97798496b;hb=87c2c84cbd2332d6d94b12a1dcaf12ad1a51a938;hp=ec086ca730c8dce69ec4b845d6f62ef0d0cf2cb4;hpb=1c305869cc1b9454efa9325fb5a44b18c79ce91b;p=ncurses.git diff --git a/ncurses/tty/lib_tstp.c b/ncurses/tty/lib_tstp.c index ec086ca7..dd925c7e 100644 --- a/ncurses/tty/lib_tstp.c +++ b/ncurses/tty/lib_tstp.c @@ -43,7 +43,7 @@ #include -MODULE_ID("$Id: lib_tstp.c,v 1.52 2022/08/13 14:36:43 tom Exp $") +MODULE_ID("$Id: lib_tstp.c,v 1.54 2022/12/24 22:22:10 tom Exp $") #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC) #define USE_SIGTSTP 1 @@ -283,12 +283,11 @@ handle_SIGINT(int sig) _exit(EXIT_FAILURE); } -#if USE_SIGWINCH - # ifndef _nc_set_read_thread NCURSES_EXPORT(void) _nc_set_read_thread(bool enable) { + _nc_lock_global(curses); if (enable) { # if USE_WEAK_SYMBOLS if ((pthread_self) && (pthread_kill) && (pthread_equal)) @@ -297,9 +296,12 @@ _nc_set_read_thread(bool enable) } else { _nc_globals.read_thread = 0; } + _nc_unlock_global(curses); } # endif +#if USE_SIGWINCH + static void handle_SIGWINCH(int sig GCC_UNUSED) {