This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug threads/22882] GDB hangs when calling inferior functions in threaded code


https://sourceware.org/bugzilla/show_bug.cgi?id=22882

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Andrew Burgess <aburgess@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1840d81a201932a2d5ad5b089aad85943a5a0a82

commit 1840d81a201932a2d5ad5b089aad85943a5a0a82
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed May 23 17:06:02 2018 +0100

    gdb: Run INF_EXEC_COMPLETE handler for additional cases

    When making an inferior call, and non-stop mode is off, then, once the
    inferior call is complete all threads will be stopped, and we should
    run the INF_EXEC_COMPLETE handler.  This will result in a call to
    'target_async(0)' to remove the event handlers for the target.

    This was discussed by Yao Qi in this mailing list thread:

        https://sourceware.org/ml/gdb/2017-10/msg00032.html

    Without this then the target event handlers are left in place even
    when the target is stopped, which is different to what happens during
    a standard stop proceedure (for example when one thread hits a
    breakpoint).

    gdb/ChangeLog:

        PR gdb/22882
        * infrun.c (fetch_inferior_event): If GDB is not proceeding then
        run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
        Move should_notify_stop local into more inner scope.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]