From owner-cvs-src@FreeBSD.ORG Mon Oct 3 15:14:52 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B3EC216A41F; Mon, 3 Oct 2005 15:14:52 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C0DD43D55; Mon, 3 Oct 2005 15:14:51 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from [10.50.41.233] (Not Verified[10.50.41.233]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Mon, 03 Oct 2005 11:30:57 -0400 From: John Baldwin To: Olivier Houchard Date: Mon, 3 Oct 2005 11:14:29 -0400 User-Agent: KMail/1.8 References: <200510022257.j92MvV4N007297@repoman.freebsd.org> In-Reply-To: <200510022257.j92MvV4N007297@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200510031114.31125.jhb@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/ddb db_command.c db_output.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Oct 2005 15:14:52 -0000 On Sunday 02 October 2005 06:57 pm, Olivier Houchard wrote: > cognet 2005-10-02 22:57:31 UTC > > FreeBSD src repository > > Modified files: > sys/ddb db_command.c db_output.c > Log: > - Call db_setup_paging() for traceall. > - Make it so one can't call db_setup_paging() if it has already been > called before. traceall needs this, or else the db_setup_paging() call from > db_trace_thread() will reset the printed line number, and override its > argument. > This is not perfect for traceall, because even if one presses 'q' while > in the middle of printing a backtrace it will finish printing the backtrace > before exiting, as db_trace_thread() won't be notified it should stop, but > it is hard to do better without reworking the pager interface a lot more. Actually, traceall() can be fixed without too much difficulty. Just adjust the API such that the MD function to trace a thread isn't the direct DDB function, but takes a pointer to the quit variable. Then have traceall() pass in its quit variable and add a simple MI wrapper for the single trace case that passes in a local quit variable as well and move db_setup_pager() into that MI wrapper and out of the MD functions. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org