From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18187 invoked by alias); 15 May 2006 21:51:52 -0000 Received: (qmail 18178 invoked by uid 22791); 15 May 2006 21:51:52 -0000 X-Spam-Check-By: sourceware.org Received: from eastrmmtao01.cox.net (HELO eastrmmtao01.cox.net) (68.230.240.38) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 15 May 2006 21:51:49 +0000 Received: from localhost.localdomain ([68.9.66.48]) by eastrmmtao01.cox.net (InterMail vM.6.01.06.01 201-2131-130-101-20060113) with ESMTP id <20060515215148.JELA17255.eastrmmtao01.cox.net@localhost.localdomain>; Mon, 15 May 2006 17:51:48 -0400 Received: from bob by localhost.localdomain with local (Exim 4.52) id 1FfkzS-0006fi-P6; Mon, 15 May 2006 17:52:34 -0400 Date: Mon, 15 May 2006 22:40:00 -0000 From: Bob Rossi To: PAUL GILLIAM Cc: gdb@sourceware.org Subject: Re: invoking GDB from FE and signals Message-ID: <20060515215234.GG21608@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> <1147719922.3672.159.camel@dufur.beaverton.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1147719922.3672.159.camel@dufur.beaverton.ibm.com> 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/msg00229.txt.bz2 On Mon, May 15, 2006 at 12:05:22PM -0700, PAUL GILLIAM wrote: > On Mon, 2006-05-15 at 15:43 -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? > > > > Bob Rossi > > Two things: > 1) Yes the only way to send a signal to a *pid* is with kill. But which > pid? DO NOT SEND THE SIGNAL TO GDB! Send it to GDB's inferior. After thinking about this a little longer, I had 1 other question. See, I'm going to put GDB on a PTY. However, I also put the inferior on it's own PTY using 'set tty'. In this scenario, how do I send the SIGINT? and to who? I can send it directly to GDB using the kill system call with GDB's pid. I can send it to GDB's PTY using the 'write' system call or i can send it to the inferior's PTY using the 'write' system call. Which is best? > 2) Danial is not asking you to send a signal to a pty, he is asking you > to send a signal to GDB's inferior *via* the pty, by using an ioctl > function and suggesting that code exists in EMACS to do just that. Thanks, I'm going to search for this, and I appreciate the suggestions Daniel and Paul, if either of you have a link to the code, let me know. Bob Rossi