xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/run-on-main-thread.h (revision 6881a4007f077b54e5f51159c52b9b25f57deb0d)
1 /* Run a function on the main thread
2    Copyright (C) 2019-2023 Free Software Foundation, Inc.
3 
4    This file is part of GDB.
5 
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
18 
19 #ifndef GDB_RUN_ON_MAIN_THREAD_H
20 #define GDB_RUN_ON_MAIN_THREAD_H
21 
22 #include <functional>
23 
24 /* Send a runnable to the main thread.  */
25 
26 extern void run_on_main_thread (std::function<void ()> &&);
27 
28 /* Return true on the main thread.  */
29 
30 extern bool is_main_thread ();
31 
32 #endif /* GDB_RUN_ON_MAIN_THREAD_H */
33