Re: [RFC 0/6] Demangle minimal symbol names in worker threads

John Baldwin
2019-03-11T17:35:12Z

On 3/9/19 10:09 AM, Eli Zaretskii wrote:
>> From: Tom Tromey <tom@tromey.com>
>> Date: Sat, 9 Mar 2019 10:22:54 -0700
>>
>> I've thought for a while that gdb should take advantage of multiple
>> cores in order to speed up its processing. This series is some
>> initial work in that direction.
>>
>> In particular, this patch arranges to do the demangling for minimal
>> symbols in worker threads. I chose this because it seemed relatively
>> simple to reason about, as the demangler is already mostly thread-safe
>> (except, as it turns out, the Ada demangler, which is fixed in this
>> series). It isn't actually a very important thing to speed up, as
>> minimal symbol reading is already reasonably speedy; but I thought it
>> best to start with something straightforward to facilitate flushing
>> out thread safety bugs.
>
> Thanks, but is std::thread portable enough? E.g., I recall problems
> with it in MinGW.
>
> Same question regarding delivering signals to threads.

I can't speak to MinGW, but the signal in question here is a synchronous
SIGSEGV signal due to a page fault or the like and in POSIX systems that
is always sent to the thread executing the faulting instruction (and that
is the only sane semantic since the thread can't execute any more
instructions until the signal is resolved).

--
John Baldwin