--- ncurses/curses.priv.h +++ ncurses/curses.priv.h 2010-10-12 11:56:43.640426282 +0200 @@ -490,6 +490,7 @@ extern NCURSES_EXPORT(int) _nc_mutex_unl #ifdef USE_PTHREADS # if USE_WEAK_SYMBOLS weak_symbol(pthread_sigmask); +weak_symbol(pthread_kill); weak_symbol(pthread_self); weak_symbol(pthread_equal); weak_symbol(pthread_mutex_init); --- ncurses/tty/lib_tstp.c +++ ncurses/tty/lib_tstp.c 2010-10-12 12:02:27.856426710 +0200 @@ -288,7 +288,11 @@ sigwinch(int sig GCC_UNUSED) _nc_globals.have_sigwinch = 1; # if USE_PTHREADS_EINTR if (_nc_globals.read_thread) { - if (!pthread_equal(pthread_self(), _nc_globals.read_thread)) + if ( +# if USE_WEAK_SYMBOLS + (pthread_self) && (pthread_kill) && (pthread_equal) && +# endif + !pthread_equal(pthread_self(), _nc_globals.read_thread)) pthread_kill(_nc_globals.read_thread, SIGWINCH); _nc_globals.read_thread = 0; }