diff options
| author | Rusty Wagner <rusty@vector35.com> | 2019-03-19 14:58:37 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2019-03-20 13:00:17 -0400 |
| commit | ca1bc587c22928bbd7198813064c9615c3c12771 (patch) | |
| tree | eb8b21af0837ba7b5dd7c3f78368aa110a93feb1 | |
| parent | 815f5485eb50eff3b483a6bcc0c3d3d11569f8ca (diff) | |
Add an is_main_thread API
| -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() |
