From owner-freebsd-current Wed Oct 9 5:52:50 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4CB4E37B401; Wed, 9 Oct 2002 05:52:49 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2EE5C43E42; Wed, 9 Oct 2002 05:52:48 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id WAA26480; Wed, 9 Oct 2002 22:52:45 +1000 Date: Wed, 9 Oct 2002 23:02:50 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Maxime Henrion Cc: "Vladimir B. Grebenschikov" , Subject: Re: DDB sysctl function In-Reply-To: <20021009122319.GS57622@elvis.mu.org> Message-ID: <20021009225646.W5232-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Wed, 9 Oct 2002, Maxime Henrion wrote: > Bruce Evans wrote: > > On Wed, 9 Oct 2002, Maxime Henrion wrote: > > > > > What I meant in my previous mail is that you could malloc() these > > > objects instead of putting them on the stack. Also, you don't need > > > buffers that big since the size you need is bounded at max(sizeof(int), > > > TOK_STRING_SIZE), which is likely to be TOK_STRING_SIZE :-). > > > > ddb can't call malloc() or any other general memory allocation function, > > since it may be (and often is) invoked in the middle of such functions. > > I guess using a buffer of TOK_STRING_SIZE bytes for the tIDENT case and > int for the tNUMBER case would be best then. We could use the same > buffer if we don't plan to support platforms with ints bigger than 120 > bytes :-). A static buffer should work, since ddb isn't reentrant. (I first thought of a malloc() at init time. That wouldn't work, since ddb may be called before kvm is initialized. It could be delayed provided the functions that use it aren't called early. But static allocation still works better.) Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message