mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
Add final cleanup for runnables
This changes run-on-main-thread.c to clear 'runnables' in a final cleanup. This avoids an issue where a pending runnable could require Python, but be run after the Python interpreter was finalized. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31172
This commit is contained in:
parent
ec471b627a
commit
6313c05640
@ -133,4 +133,15 @@ _initialize_run_on_main_thread ()
|
||||
runnable_event = make_serial_event ();
|
||||
add_file_handler (serial_event_fd (runnable_event), run_events, nullptr,
|
||||
"run-on-main-thread");
|
||||
|
||||
/* A runnable may refer to an extension language. So, we want to
|
||||
make sure any pending ones have been deleted before the extension
|
||||
languages are shut down. */
|
||||
add_final_cleanup ([] ()
|
||||
{
|
||||
#if CXX_STD_THREAD
|
||||
std::lock_guard lock (runnable_mutex);
|
||||
#endif
|
||||
runnables.clear ();
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user