From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3784 invoked by alias); 15 May 2006 20:09:24 -0000 Received: (qmail 3771 invoked by uid 22791); 15 May 2006 20:09:24 -0000 X-Spam-Check-By: sourceware.org Received: from eastrmmtao04.cox.net (HELO eastrmmtao04.cox.net) (68.230.240.35) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 15 May 2006 20:09:22 +0000 Received: from localhost.localdomain ([68.9.66.48]) by eastrmmtao04.cox.net (InterMail vM.6.01.06.01 201-2131-130-101-20060113) with ESMTP id <20060515200919.ZJCB9931.eastrmmtao04.cox.net@localhost.localdomain>; Mon, 15 May 2006 16:09:19 -0400 Received: from bob by localhost.localdomain with local (Exim 4.52) id 1FfjOI-0005xq-8u; Mon, 15 May 2006 16:10:06 -0400 Date: Mon, 15 May 2006 20:20:00 -0000 From: Bob Rossi To: PAUL GILLIAM , gdb@sourceware.org Subject: Re: invoking GDB from FE and signals Message-ID: <20060515201006.GB21608@brasko.net> References: <20060513145421.GA3664@nevyn.them.org> <20060513151026.GD10678@brasko.net> <20060513151057.GA4112@nevyn.them.org> <20060513152021.GE10678@brasko.net> <20060513154816.GA5022@nevyn.them.org> <1147712871.3672.153.camel@dufur.beaverton.ibm.com> <20060515181821.GA18932@brasko.net> <20060515191714.GA5918@nevyn.them.org> <20060515194313.GA21608@brasko.net> <20060515200547.GA8151@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060515200547.GA8151@nevyn.them.org> User-Agent: Mutt/1.5.9i 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/msg00221.txt.bz2 On Mon, May 15, 2006 at 04:05:47PM -0400, Daniel Jacobowitz wrote: > On Mon, May 15, 2006 at 03:43:14PM -0400, Bob Rossi wrote: > > On Mon, May 15, 2006 at 03:17:14PM -0400, Daniel Jacobowitz wrote: > > > On Mon, May 15, 2006 at 02:18:21PM -0400, Bob Rossi wrote: > > > > OK, here's what happens from the FE perspective though. You type ^c. The > > > > FE get's the signal (which is in a different process group than GDB), > > > > and passes the signal to GDB with 'kill (gdb_pid, SIGINT)'. > > > > > > Jim just explained this, but it may not have been clear: that is the > > > wrong way to forward the signal. If you are running GDB on a > > > pseudo-tty, you need to forward the job control signal to that TTY, not > > > to the GDB process itself. > > > > > > I don't really know how to do that. Is it by setting BRKING in > > > termios? There's something about TIOCSIGNAL too. Lots of code for > > > this in emacs. > > > > I'm totally confused. I'm certainly not an expert, but sending a signal > > can only be done to a pid using kill. What other ways are there? > > Read it again :-) > > You don't want to send the signal to a specific process. You want to > cause the pseudo-terminal to signal the correct process group. > > (Also, process group != pid; you can kill negative pids, see a POSIX > reference). OK, here's the problem. There are 2 case's, using a PTY or not. I am currently not using a PTY. So, I send the signal via kill. Is this correct or incorrect? If I use a PTY, which I'm going to have to reimplement. I'll except signals like SIGINT, cause I'll forward them with 'write' to the PTY between GDB and CGDB. I think this was Jim's idea of how Emacs works, and it's what I would think would be best. Bob Rossi