Hi You need to explicitly configure upstream ncurses with --enable-sigwinch so many other platforms do not enable it either. They must also have been affected when ncurses made USE_SIZECHANGE depend on it. We have never had USE_SIGWINCH on.
On Fri, Apr 22, 2011 at 08:24:34PM +0100, Mikolaj Kucharski wrote: > Hi, > > I was troubleshooting issue with window resize in net/ekg. In the past > it was working properly, but stopped. I figured out that breakage > happened between OpenBSD 4.6 and 4.7, when ncurses was updated. > > I've recompiled ncurses with -DTRACE and and used it with very simple > program to test (see screensize.c under url mentioned below). > > Comparing tracing of above code from OpenBSD 4.6 and OpenBSD 4.9 > (-current) show that in the latest code function _nc_update_screensize() > is not executed in doupdate() (lib/libcurses/tty/tty_update.c). It is > executed however in OpenBSD 4.6. Reason is that USE_SIZECHANGE is > defined as 0 (zero) bacause of following code (curses.priv.h from 4.9): > > > #if HAVE_SIZECHANGE && USE_SIGWINCH && defined(SIGWINCH) > #define USE_SIZECHANGE 1 > #else > #define USE_SIZECHANGE 0 > #undef USE_SIGWINCH > #define USE_SIGWINCH 0 > #endif > > > HAVE_SIZECHANGE is defined to 1 in OpenBSD 4.6 and 4.9, but USE_SIGWINCH > is not defined to 1. In OpenBSD 4.6 only HAVE_SIZECHANGE was checked to > set USE_SIZECHANGE to 1 (curses.priv.h from 4.6): > > > #if HAVE_SIZECHANGE > #define USE_SIZECHANGE 1 > #else > #undef USE_SIGWINCH > #endif > > > Is there any reason why USE_SIGWINCH is not defined to 1 in current > OpenBSD (in ncurses_cfg.h)? > > > You can find my debugging files under following location: > > http://www1.kucharski.name/pub/ekg/ > > - screensize.c -- code to test the issue > > - patches for libcurses which enable tracing and adds some additional > logging > > - trace logs, so you can compare how ncurses on OpenBSD 4.6, unpatched > 4.9 and with USE_SIGWINCH defined to 1 on 4.9 behave > > > > -- > best regards > q#
