From owner-freebsd-bugs Mon Jan 6 06:00:59 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id GAA06044 for bugs-outgoing; Mon, 6 Jan 1997 06:00:59 -0800 (PST) Received: from spinner.DIALix.COM (root@spinner.DIALix.COM [192.203.228.67]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id GAA06036 for ; Mon, 6 Jan 1997 06:00:50 -0800 (PST) Received: from spinner.DIALix.COM (peter@localhost.DIALix.oz.au [127.0.0.1]) by spinner.DIALix.COM (8.8.4/8.8.4) with ESMTP id VAA28403; Mon, 6 Jan 1997 21:59:13 +0800 (WST) Message-Id: <199701061359.VAA28403@spinner.DIALix.COM> X-Mailer: exmh version 2.0beta 12/23/96 To: Charlie Root cc: bugs@freebsd.org Subject: Re: err in if_sl.c In-reply-to: Your message of "Mon, 06 Jan 1997 13:54:48 +0200." <199701061154.NAA00419@dsu.dp.ua> Date: Mon, 06 Jan 1997 21:59:12 +0800 From: Peter Wemm Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Charlie Root wrote: > 344c344 > # if_sl.c: > < sc->sc_flags &= ~SC_STATIC; > --- > # if_sl.c.old > > sc->sc_flags &= SC_STATIC; Are you sure it's not the intention to clear everything but preserve the SC_STATIC bit? The code in question is: if (sc != NULL) { if (sc->sc_outfill) { sc->sc_outfill = 0; untimeout(sl_outfill, sc); } if (sc->sc_keepalive) { sc->sc_keepalive = 0; untimeout(sl_keepalive, sc); } if_down(&sc->sc_if); sc->sc_flags &= SC_STATIC; sc->sc_ttyp = NULL; tp->t_sc = NULL; MCLFREE((caddr_t)(sc->sc_ep - SLBUFSIZE)); sc->sc_ep = 0; sc->sc_mp = 0; sc->sc_buf = 0; } This seems to be part of the system that keeps static and dynamic allocation apart... In rev 1.40, there was a change here: - sc->sc_flags = 0; + sc->sc_flags &= SC_STATIC; And the log message was: revision 1.40 date: 1996/05/13 14:09:34; author: ache; state: Exp; lines: +21 -6 Prevent mixing of static and dynamic unit allocation strategies Cheers, -Peter