Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 2009 16:34:01 +0400
From:      pluknet <pluknet@gmail.com>
To:        Alexander Best <alexbestms@math.uni-muenster.de>
Cc:        Antony Mawer <lists@mawer.org>, freebsd-hackers@freebsd.org
Subject:   Re: help needed to fix contrib/ee crash/exit when receiving SIGWINCH
Message-ID:  <a31046fc0910230534h3420e57aw6b855219361f9dd7@mail.gmail.com>
In-Reply-To: <permail-2009102312085080e26a0b00003a96-a_best01@message-id.uni-muenster.de>
References:  <20091023135024.377bcfa6@ernst.jennejohn.org> <permail-2009102312085080e26a0b00003a96-a_best01@message-id.uni-muenster.de>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/10/23 Alexander Best <alexbestms@math.uni-muenster.de>:
> Gary Jennejohn schrieb am 2009-10-23:
>> On Fri, 23 Oct 2009 12:58:43 +0400
>> pluknet <pluknet@gmail.com> wrote:
>
>> > 2009/10/23 Antony Mawer <lists@mawer.org>:
>> > > On Fri, Oct 23, 2009 at 1:35 PM, Alexander Best
>> > > <alexbestms@math.uni-muenster.de> 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_cur=
se.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_C=
TYPE
> -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).

--=20
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a31046fc0910230534h3420e57aw6b855219361f9dd7>