delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/02/28/20:12:52

X-Spam-Check-By: sourceware.org
Message-ID: <45E62875.3090507@portugalmail.pt>
Date: Thu, 01 Mar 2007 01:12:21 +0000
From: Pedro Alves <pedro_alves AT portugalmail DOT pt>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.0.9) Gecko/20061207 Thunderbird/1.5.0.9 Mnenhy/0.7.4.0
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: GDB Ctrl-C Interrupt Fails WORKAROUND
References: <E5AED0BA-EE62-4D97-96CE-8A96D0C0F559 AT qualcomm DOT com> <37FD7E0C-3F61-4EB2-B5A2-9C86C87A45DA AT qualcomm DOT com> <20060615150456 DOT GA7830 AT trixie DOT casa DOT cgf DOT cx> <20070228234326 DOT GD9444 AT ns1 DOT anodized DOT com> <45E61B10 DOT 4080208 AT portugalmail DOT pt> <20070301003511 DOT GA4537 AT trixie DOT casa DOT cgf DOT cx>
In-Reply-To: <20070301003511.GA4537@trixie.casa.cgf.cx>
X-Antivirus: avast! (VPS 000719-0, 28-02-2007), Outbound message
X-Antivirus-Status: Clean
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Christopher Faylor escreveu:
> On Thu, Mar 01, 2007 at 12:15:12AM +0000, Pedro Alves wrote:
>> Is there a reason DebugBreakProcess can't be used from inside
>> gdb if sending a ctrl-c with GenerateConsoleCtrlEvent (CTRL_C_EVENT, pid)
>> doesn't work?
> 
> I suppose that it could be used for that but it might be tricky figuring
> out when it was required and when it wasn't.  You wouldn't want to
> interrupt the process twice if it already saw the CTRL-C.  Although,
> maybe if you used this you could tell the inferior process not to
> process CTRL-C at all via some CreateProcess setting.
> 

What about doing it the other way around?  Use DebugBreakProcess if
available, and fallback to GenerateConsoleCtrlEvent?  Is there anything
internal to Cygwin that uses it?  We could teach gdb that the next
BreakPoint inside kernel32 (, or whatever dll DebugBreakProcess breaks in,)
is mapped to SIGINT, remap the event, and switch to the main thread, so
the user doesn't see we stopped inside kernel32.

Cheers,
Pedro Alves



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019