From owner-freebsd-hackers@FreeBSD.ORG Fri Oct 23 13:26:20 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAAD1106568D for ; Fri, 23 Oct 2009 13:26:20 +0000 (UTC) (envelope-from a_best01@uni-muenster.de) Received: from zivm-exrelay2.uni-muenster.de (ZIVM-EXRELAY2.UNI-MUENSTER.DE [128.176.192.15]) by mx1.freebsd.org (Postfix) with ESMTP id 6D9278FC29 for ; Fri, 23 Oct 2009 13:26:19 +0000 (UTC) X-IronPort-AV: E=Sophos;i="4.44,612,1249250400"; d="scan'208";a="227039983" Received: from zivmaildisp1.uni-muenster.de (HELO ZIVMAILUSER04.UNI-MUENSTER.DE) ([128.176.188.85]) by zivm-relay2.uni-muenster.de with ESMTP; 23 Oct 2009 15:26:18 +0200 Received: by ZIVMAILUSER04.UNI-MUENSTER.DE (Postfix, from userid 149459) id A31521B07BD; Fri, 23 Oct 2009 15:26:18 +0200 (CEST) Date: Fri, 23 Oct 2009 15:26:18 +0200 (CEST) From: Alexander Best Sender: Organization: Westfaelische Wilhelms-Universitaet Muenster To: pluknet Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Antony Mawer , freebsd-hackers@freebsd.org Subject: Re: help needed to fix contrib/ee crash/exit when receiving SIGWINCH X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 13:26:21 -0000 pluknet schrieb am 2009-10-23: > 2009/10/23 Alexander Best : > > Gary Jennejohn schrieb am 2009-10-23: > >> On Fri, 23 Oct 2009 12:58:43 +0400 > >> pluknet wrote: > >> > 2009/10/23 Antony Mawer : > >> > > On Fri, Oct 23, 2009 at 1:35 PM, Alexander Best > >> > > wrote: > >> > >> hi everyone, > >> > >> together with hugh mahon (the author of ee) i've been trying > >> > >> to > >> > >> fix a nasty > >> > >> bug in ee. for some reason ee exits (not crashes) and leaves > >> > >> the > >> > >> console > >> > >> corrupted when receiving SIGWINCH (`killall -SIGWINCH ee` > >> > >> should > >> > >> exit all > >> > >> running ee instances). > >> > > I noticed this the other day when working on a new 8.0-RC1 > >> > > system... > >> > > in my case I was using putty (Windows ssh client) to access > >> > > the > >> > > system > >> > > and maximised the window I had ee running in, and noticed ee > >> > > just > >> > > dumped me straight to the prompt. > >> > > I am wondering if this has anything to do with the new tty > >> > > subsystem > >> > > in 8.0, as this wasn't a problem I've experienced before under > >> > > 7.x... > >> > No, that's a regression appeared in (FreeBSD'ish? version of) ee > >> > 1.5.0. > >> SIGWINCH is handled in new_curse.c, but it's not being > >> compiled/linked. > >> --- > >> Gary Jennejohn > > i think that file is only used on systems which have > > termio.h/sgtty.h and ee > > doesn't get linked against ncurses. on those systems (linux e.g.) > > new_curse.c > > is used to handle certain things which ncurses takes care under > > freebsd. > > this is under freebsd: > > `make`: > > Neither termio.h or sgtty.h are on this system! > > Relying on local curses implementation. > > Generating make.local > > make -f make.local > > cc ee.c -o ee -ggdb -DDIAG -DHAS_UNISTD -DHAS_STDARG -DHAS_STDLIB > > -DHAS_CTYPE > > -DHAS_SYS_IOCTL -DHAS_SYS_WAIT =A0 -DSLCT_HDR > > -DTERMCAP=3D"\"/usr/share/misc/termcap\"" -lcursesw > > `ldd ee`: > > libncursesw.so.8 =3D> /lib/libncursesw.so.8 (0x2809b000) > > libc.so.7 =3D> /lib/libc.so.7 (0x280e9000) > [Probably already mentioned.] > btw, ee compiled under fbsd with new_curse.c > (and not linked with curses/cursesw) goes fine with SIGWINCH. > --- Makefile.old 2009-10-23 16:13:45.000000000 +0400 > +++ Makefile 2009-10-23 16:30:03.000000000 +0400 > @@ -3,15 +3,14 @@ > .PATH: ${.CURDIR}/../../contrib/ee > CFLAGS+=3D -DHAS_NCURSES -DHAS_UNISTD -DHAS_STDARG -DHAS_STDLIB \ > - -DHAS_SYS_WAIT > + -DHAS_SYS_WAIT -DCAP -DNCURSE > PROG=3D ee > +SRCS=3D ee.c new_curse.c > LINKS=3D ${BINDIR}/ee ${BINDIR}/ree ${BINDIR}/ee ${BINDIR}/edit > MLINKS=3D ee.1 ree.1 ee.1 edit.1 > -DPADD=3D ${LIBNCURSES} > -LDADD=3D -lncurses > -WARNS?=3D 2 > +WARNS?=3D 0 > NLS=3D en_US.US-ASCII fr_FR.ISO8859-1 de_DE.ISO8859-1 > pl_PL.ISO8859-2 \ > uk_UA.KOI8-U ru_RU.KOI8-R hu_HU.ISO8859-2 > $ ldd ./ee > ./ee: > libc.so.6 =3D> /lib/libc.so.6 (0x2808a000) > (yes, it's FreeBSD 6.x). won't work under CURRENT i'm afraid: Warning: Object directory not changed from original /usr/src/usr.bin/ee cc -O2 -fno-strict-aliasing -pipe -march=3Dnative -DHAS_NCURSES -DHAS_UNIS= TD -DHAS_STDARG -DHAS_STDLIB -DHAS_SYS_WAIT -DCAP -DNCURSE -std=3Dgnu99 -fstack-protector -Wno-pointer-sign -c /usr/src/usr.bin/ee/../../contrib/ee/ee.c In file included from /usr/src/usr.bin/ee/../../contrib/ee/ee.c:68: /usr/src/usr.bin/ee/../../contrib/ee/new_curse.h:47:19: error: sgtty.h: No such file or directory *** Error code 1 Stop in /usr/src/usr.bin/ee. here's the entry in ObsoleteFiles.inc: # 20080725: sgtty.h removed OLD_FILES+=3Dusr/include/sgtty.h alex