From owner-freebsd-current Tue Mar 11 12:08:07 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id MAA05997 for current-outgoing; Tue, 11 Mar 1997 12:08:07 -0800 (PST) Received: from awfulhak.demon.co.uk (awfulhak.demon.co.uk [158.152.17.1]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA05954 for ; Tue, 11 Mar 1997 12:07:39 -0800 (PST) Received: from awfulhak.demon.co.uk (localhost.lan.awfulhak.org [127.0.0.1]) by awfulhak.demon.co.uk (8.8.5/8.8.5) with ESMTP id TAA06513; Tue, 11 Mar 1997 19:49:29 GMT Message-Id: <199703111949.TAA06513@awfulhak.demon.co.uk> X-Mailer: exmh version 1.6.9 8/22/96 To: brian@utell.co.uk cc: Bruce Evans , ache@nagual.ru, current@FreeBSD.org Subject: Re: ppp In-reply-to: Your message of "Tue, 11 Mar 1997 15:44:35 GMT." <199703111544.PAA27686@shift.lan.awfulhak.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 11 Mar 1997 19:49:29 +0000 From: Brian Somers Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > This should solve the above. The process loop will look something like: > > extern int ncaused; /* The cumulative number of signals caused */ > int sig; > > while (ncaused) { > for (sig = 0; sig < __MAXSIG; sig++) > if (caused[sig]) { > ncaused--; > caused[sig]--; > (*handler[sig])(sig+1); > } > } > > The actual signal trap would of course increment caused[n] and ncaused. Hmm, impossible to keep caused[n] and ncaused in sync. -- Brian , Don't _EVER_ lose your sense of humour....