From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2741 invoked by alias); 11 May 2006 16:23:07 -0000 Received: (qmail 2728 invoked by uid 22791); 11 May 2006 16:23:05 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Thu, 11 May 2006 16:23:03 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1FeDwG-0002TZ-IG; Thu, 11 May 2006 12:22:56 -0400 Date: Thu, 11 May 2006 17:03:00 -0000 From: Daniel Jacobowitz To: Jim Ingham Cc: Bob Rossi , Alain Magloire , gdb@sources.redhat.com Subject: Re: asynchronous MI output commands Message-ID: <20060511162256.GA9407@nevyn.them.org> Mail-Followup-To: Jim Ingham , Bob Rossi , Alain Magloire , gdb@sources.redhat.com References: <3518719F06577C4F85DA618E3C37AB9105359F5C@nimbus.ott.qnx.com> <20060511150249.GA1600@brasko.net> <02162C41-8C3C-49B8-99BB-3394075E305A@apple.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <02162C41-8C3C-49B8-99BB-3394075E305A@apple.com> User-Agent: Mutt/1.5.8i 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-05/txt/msg00148.txt.bz2 On Thu, May 11, 2006 at 08:42:03AM -0700, Jim Ingham wrote: > I think that the lack of notification about what has gone on when > somebody uses interpreter-exec to run the target is just a bug in the > interpreter-exec command. Since that command allows lots of stuff to > go on behind the MI client's back, you need to inform the client > about this. You could either post asynchronous notifications about > what happened (for instance an =running or whatever) or you can just > make the -interpreter-exec command behave like -exec-next when it > does indeed run the target. The latter is what we did for Xcode, so > you get the *stopped message if the target was run. This is a topic I'd like to see a single consensus on, sometime soon. I have an ulterior motive. I wrote, some time ago, patches to use Guile to implement GDB CLI commands. It works by, roughly, opening a bidirectional MI channel to Guile, and temporarily suspending the CLI channel. But if the front end in use is MI, what notifications should that frontend get? Should it be told the target is running, even if e.g. the user defined command just calls a function in the target? Should the Guile interpreter get notifications when the user or MI client does something? Basically, I think that getting this right requires multiple interpreters live at the same time. I'd like to come back to that code someday. And, preferably, merge Perl and Python support also. Kip Macy posted Perl bindings and the Python ones would be easy to write, now that I know Python - in fact it's the only one out of the three I'd be comfortable doing myself, the Guile bits were very skeletal. -- Daniel Jacobowitz CodeSourcery