Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: Tom de Vries <tdevries@suse.de>
Cc: Tom Tromey <tom@tromey.com>, gdb-patches@sourceware.org
Subject: Re: [RFC][gdb/symtab] Lazy expansion of full symbol table
Date: Sun, 20 Jun 2021 17:44:19 -0600	[thread overview]
Message-ID: <87tulsw17w.fsf@tromey.com> (raw)
In-Reply-To: <b546d3be-47b9-77f4-2ac5-e8d81e649777@suse.de> (Tom de Vries's message of "Sat, 19 Jun 2021 21:36:40 +0200")

Tom> Tried the updated branch and ran into a race condition, fixed in
Tom> attached patch.

How did you observe it?

Tom> +  static std::mutex mutex;
Tom>    asection *sectp;
Tom>    bfd *abfd;
Tom>    gdb_byte *buf, *retbuf;
 
Tom> +  std::lock_guard<std::mutex> guard (mutex);
Tom>    if (readin)
Tom>      return;
Tom>    buffer = NULL;

I don't think we want to do this, because BFD isn't thread-safe, and
I've been avoiding touching it.  Instead I think we'll have to track
down the problems spots and arrange for the required sections to be read
in before any threaded work is started.

Making BFD "thread-safe-enough" might be worthwhile, I'm not sure.

Tom

  parent reply	other threads:[~2021-06-20 23:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-14  9:39 Tom de Vries
2021-06-14 20:54 ` Tom Tromey
2021-06-14 23:36   ` Tom de Vries
2021-06-15 13:26     ` Tom Tromey
2021-06-16 10:20       ` Tom de Vries
2021-06-18  2:30         ` Tom Tromey
2021-06-19 19:36           ` Tom de Vries
2021-06-20  9:41             ` Tom de Vries
2021-06-20 18:17               ` Tom Tromey
2021-06-22  9:16                 ` Tom de Vries
2021-06-20 23:44             ` Tom Tromey [this message]
2021-06-21  9:18               ` Tom de Vries
2021-06-27 22:24                 ` Tom Tromey
2021-06-28  0:48               ` Tom Tromey

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=87tulsw17w.fsf@tromey.com \
    --to=tom@tromey.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tdevries@suse.de \
    /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