From: Eli Zaretskii <eliz@gnu.org>
To: Pedro Alves <palves@redhat.com>
Cc: xdje42@gmail.com, ludo@gnu.org, guile-devel@gnu.org,
gdb-patches@sourceware.org
Subject: Re: [PATCH][PR guile/17247] Block SIGCHLD while initializing Guile
Date: Fri, 05 Sep 2014 14:51:38 +0300 [thread overview]
Message-ID: <838ulye14l.fsf@gnu.org> (raw)
In-Reply-To: <54099594.2000201@redhat.com>
> Date: Fri, 05 Sep 2014 11:51:00 +0100
> From: Pedro Alves <palves@redhat.com>
> CC: ludo@gnu.org, guile-devel@gnu.org, gdb-patches@sourceware.org
>
> I'd be strongly against preventing extensions from using threads.
Then how do you propose to deal with the difficulties I listed in one
of my previous messages?
> As an example, tromey's wip/prototype gdb frontend written as a
> python extension to gdb uses threads:
You don't need to convince me that forbidding threads takes away some
significant functionality. This is a question of finding the right
balance, not whether threads are useful.
> Even GDB itself isn't really strictly single-threaded -- e.g., on
> Windows, we spawn threads to handle I/O:
That just means we already take some risk, where no other solution was
possible, or reasonably practical. It does not mean we should from
now on be casual about adding more of that. Moreover, this is _us_
doing threads, not users on whose code we have no control.
> Just last night I was debugging something in non-stop mode
> where a ton of events happen behind the scenes without causing
> a user-visible stop (a bunch of parallel single-steps), and
> noticing how the cli/prompt becomes so unresponsive, because the event
> loop handles either target events or input events in sequence, not
> in parallel, and thinking that probably to completely fix this we'd
> need to move stdin/readline handling to a separate thread.
It's fine with me to redesign GDB to be a multi-threaded program. But
you know better than I do how deeply single-threaded is the current
GDB design. I'm talking about allowing threads with arbitrary code
into our back-door, while GDB currently doesn't and cannot handle that
very well.
next prev parent reply other threads:[~2014-09-05 11:51 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <m31trwv5o1.fsf@sspiff.org>
[not found] ` <834mwsh2nu.fsf@gnu.org>
2014-08-31 20:20 ` [PATCH][PR guile/17247] Block SIGCHLD while initializing Guile Doug Evans
2014-09-01 2:36 ` Eli Zaretskii
2014-09-01 10:11 ` Ludovic Courtès
2014-09-01 14:39 ` Eli Zaretskii
2014-09-01 16:18 ` Ludovic Courtès
2014-09-01 17:10 ` Eli Zaretskii
2014-09-01 22:04 ` Doug Evans
2014-09-02 15:25 ` Eli Zaretskii
2014-09-05 8:26 ` Doug Evans
2014-09-05 8:48 ` Eli Zaretskii
2014-09-05 10:51 ` Pedro Alves
2014-09-05 11:51 ` Eli Zaretskii [this message]
2014-09-05 12:48 ` Pedro Alves
2014-09-05 11:50 ` Ludovic Courtès
2014-09-01 12:48 ` Gary Benson
2014-09-01 16:34 ` Doug Evans
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
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=838ulye14l.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=guile-devel@gnu.org \
--cc=ludo@gnu.org \
--cc=palves@redhat.com \
--cc=xdje42@gmail.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).