From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25882 invoked by alias); 6 Oct 2006 00:53:30 -0000 Received: (qmail 25669 invoked by uid 22791); 6 Oct 2006 00:53:29 -0000 X-Spam-Check-By: sourceware.org Received: from viper.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.8) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 06 Oct 2006 00:53:26 +0000 Received: from kahikatea.snap.net.nz (p202-124-124-110.snap.net.nz [202.124.124.110]) by viper.snap.net.nz (Postfix) with ESMTP id BB09E7B9558; Fri, 6 Oct 2006 13:53:21 +1300 (NZDT) Received: by kahikatea.snap.net.nz (Postfix, from userid 500) id 1625ABE43F; Fri, 6 Oct 2006 13:50:38 +1300 (NZDT) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17701.43098.583849.540224@kahikatea.snap.net.nz> Date: Fri, 06 Oct 2006 00:53:00 -0000 To: Daniel Jacobowitz Cc: gdb@sources.redhat.com Subject: Re: Merge of nickrob-async-20060513 to mainline? In-Reply-To: <20060926123757.GA9879@nevyn.them.org> References: <17652.63229.637451.185345@kahikatea.snap.net.nz> <20060830023335.GA6377@nevyn.them.org> <17653.930.196634.143646@kahikatea.snap.net.nz> <20060830040113.GA8257@nevyn.them.org> <17654.994.815362.897653@kahikatea.snap.net.nz> <20060830214257.GA5397@nevyn.them.org> <17688.59135.24869.397517@kahikatea.snap.net.nz> <20060926123757.GA9879@nevyn.them.org> X-Mailer: VM 7.19 under Emacs 22.0.50.23 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-10/txt/msg00028.txt.bz2 > Ideally you'd be able to reuse the signal handler logic (see the calls > to sigprocmask and sigsuspend) and thus not have a millisecond latency > and excessive spinning. That's actually a pretty important feature, > because context switching to gdb every millisecond or so is going to > really hurt performance of the debuggee. >From the event loop, GDB needs to detect that a process/thread has changed status and check for user input. If it does the first with sigsuspend, the only way I can see how it can do the second is by using threads. This would almost take us back to where we started. -- Nick http://www.inet.net.nz/~nickrob