diff options
| -rw-r--r-- | binaryninjaapi.h | 1 | ||||
| -rw-r--r-- | binaryninjacore.h | 1 | ||||
| -rw-r--r-- | mainthread.cpp | 6 | ||||
| -rw-r--r-- | python/mainthread.py | 4 |
4 files changed, 12 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 212c035f..dc3ca449 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -625,6 +625,7 @@ namespace BinaryNinja void RegisterMainThread(MainThreadActionHandler* handler); Ref<MainThreadAction> ExecuteOnMainThread(const std::function<void()>& action); void ExecuteOnMainThreadAndWait(const std::function<void()>& action); + bool IsMainThread(); void WorkerEnqueue(const std::function<void()>& action); void WorkerEnqueue(RefCountObject* owner, const std::function<void()>& action); diff --git a/binaryninjacore.h b/binaryninjacore.h index d4a24f15..86035355 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -3603,6 +3603,7 @@ extern "C" BINARYNINJACOREAPI void BNWaitForMainThreadAction(BNMainThreadAction* action); BINARYNINJACOREAPI BNMainThreadAction* BNExecuteOnMainThread(void* ctxt, void (*func)(void* ctxt)); BINARYNINJACOREAPI void BNExecuteOnMainThreadAndWait(void* ctxt, void (*func)(void* ctxt)); + BINARYNINJACOREAPI bool BNIsMainThread(void); // Worker thread queue management BINARYNINJACOREAPI void BNWorkerEnqueue(void* ctxt, void (*action)(void* ctxt)); diff --git a/mainthread.cpp b/mainthread.cpp index 8e9d9d50..59d67c12 100644 --- a/mainthread.cpp +++ b/mainthread.cpp @@ -80,3 +80,9 @@ void BinaryNinja::ExecuteOnMainThreadAndWait(const function<void()>& action) ctxt.action = action; BNExecuteOnMainThreadAndWait(&ctxt, ExecuteActionLocal); } + + +bool BinaryNinja::IsMainThread() +{ + return BNIsMainThread(); +} diff --git a/python/mainthread.py b/python/mainthread.py index 9a9a2864..6993194e 100644 --- a/python/mainthread.py +++ b/python/mainthread.py @@ -58,3 +58,7 @@ def get_worker_thread_count(): def set_worker_thread_count(count): core.BNSetWorkerThreadCount(count) + + +def is_main_thread(): + return core.BNIsMainThread() |
