Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Christopher Faylor <cgf-use-the-mailinglist-please@sourceware.org>
To: gdb-patches@sourceware.org, Pedro Alves <pedro@codesourcery.com>
Subject: Re: [RFC] win32-nat.c 'set new-console' and interruption
Date: Tue, 24 Jun 2008 02:33:00 -0000	[thread overview]
Message-ID: <20080624011336.GA13397@ednor.casa.cgf.cx> (raw)
In-Reply-To: <200806231922.10798.pedro@codesourcery.com>

On Mon, Jun 23, 2008 at 07:22:10PM +0100, Pedro Alves wrote:
>A Monday 23 June 2008 18:36:20, Christopher Faylor wrote:
>> On Mon, Jun 23, 2008 at 03:41:26PM +0100, Pedro Alves wrote:
>> >Another option is to use SuspendThread on all threads to stop the
>> >process, which is what I believe Visual Studio uses.  gdbserver has
>> >that implemented for systems that don't have DebugBreakProcess.
>>
>> It may be ok in Windows XP and beyond (I haven't checked) but I don't
>> believe you can reliably use SuspendThread otherwise.  If you suspend a
>> thread at the wrong point you can cause problems.
>
>It may have been a problem with earlier Windows versions (maybe deadlocking
>on some global internal lock, but evidence is scarse).  Not sure it's a
>real problem.  Would pretty much make it useless if you can't use it from a
>debugger.  google is riddled with articles claiming not to use it, but
>those are aimed at application developers who confuse it with a locking
>primitive.

Which is not me.

If you want gdb to be usable on systems other than Windows XP and beyond
then you can't use SuspendThread.

I'm not speaking from theory.  I'm speaking from experience.

If this wasn't something that we wanted to do then we shouldn't be
carefully autoloading functions that only exist in XP in win32-nat.c.

cgf


  parent reply	other threads:[~2008-06-24  1:13 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-21 17:05 Pierre Muller
2008-06-21 18:37 ` Christopher Faylor
2008-06-22  3:17   ` Daniel Jacobowitz
2008-06-22  3:18     ` Corinna Vinschen
2008-06-23  1:04       ` Christopher Faylor
2008-06-23  1:10         ` Corinna Vinschen
2008-06-23  7:40         ` Pierre Muller
2008-06-23 12:00           ` Christopher Faylor
2008-06-23 16:05             ` Pierre Muller
2008-06-23 17:00               ` Pedro Alves
2008-06-23 17:25                 ` Pierre Muller
2008-06-23 18:03                 ` Christopher Faylor
2008-06-23 19:24                   ` Pedro Alves
2008-06-23 20:33                     ` Pierre Muller
2008-06-23 21:06                       ` Joel Brobecker
2008-06-24  6:33                         ` Christopher Faylor
2008-06-24 13:36                           ` [RFC-v3] " Pierre Muller
2008-06-24  2:33                     ` Christopher Faylor [this message]
2008-06-24 13:54                       ` [RFC] " Pedro Alves
2008-06-24 18:29                         ` Christopher Faylor
2008-06-22  9:00     ` Christopher Faylor
2008-06-23  8:52   ` [RFC v2] " Pierre Muller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080624011336.GA13397@ednor.casa.cgf.cx \
    --to=cgf-use-the-mailinglist-please@sourceware.org \
    --cc=gdb-patches@sourceware.org \
    --cc=pedro@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox