From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12465 invoked by alias); 15 May 2002 18:23:03 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 12458 invoked from network); 15 May 2002 18:23:03 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 15 May 2002 18:23:03 -0000 Received: from makita.cygnus.com (makita.sfbay.redhat.com [192.168.30.83]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id LAA06644 for ; Wed, 15 May 2002 11:23:02 -0700 (PDT) Received: from localhost (keiths@localhost) by makita.cygnus.com (8.8.8+Sun/8.6.4) with ESMTP id LAA06458 for ; Wed, 15 May 2002 11:23:01 -0700 (PDT) X-Authentication-Warning: makita.cygnus.com: keiths owned process doing -bs Date: Wed, 15 May 2002 11:23:00 -0000 From: Keith Seitz X-X-Sender: To: Subject: [MI] Synchronous event notification Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-05/txt/msg00177.txt.bz2 Hi, I've been working on integrating Apple's "-interpreter-exec" changes, and I wanted to see if I could get some sort of consensus on how event notifications should be defined. In the trunk right now, MI ignores event notifications. Adding a mechanism is vital to the success of MI. Apple has added this, and all event notifications are tacked onto the mi-command result: (gdb) -interpreter-exec console "break main" Breakpoint 1 at ... ^done,MI_HOOK_RESULT=[HOOK_TYPE="breakpoint_create",bkpt={number="1",...}] Right now, this is done by defining a bunch of (existing) hooks when mi runs. I presume that we want to switch over to using gdb-events, hoping one day to deprecate the hooks, but that's not really the issue (since they behave essentially the same in non-asynch). The real question is, how do maintainers want this information communicated to mi clients? The example above shows that Apple has added a syntax like: result ==> stuff [ "," event-list ] event-list ==> "MI_HOOK_RESULT=[" event ( "," event )* "]" event ==> "HOOK_TYPE=" event-name [ event-data ] event-name ==> "breakpoint_create" | "breakpoint_delete" | ... and such. Since hooks are really just event notifications, I would like to propose that we use a definition like the above, but changing the string literals a litte: event-list ==> "events=[" event ( "," event )* "]" event ==> "name=" event-name [ event-data ] event-name ==> "breakpoint_create" | "breakpoint_delete" | ... Please discuss. Keith