Async: add sh_ptr<ContinuationChainLink> to Callback<>
This change enables us to finally implement the tracing of continuations backward from the point of acquisition for deadlock debugging.
This commit is contained in:
+11
-7
@@ -7,6 +7,7 @@
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
#include <string>
|
||||
#include <callback.h>
|
||||
|
||||
#include <component.h>
|
||||
#include <componentThread.h>
|
||||
@@ -23,8 +24,8 @@ public:
|
||||
~Mind(void) = default;
|
||||
|
||||
typedef std::function<void(bool)> mindLifetimeMgmtOpCbFn;
|
||||
void initializeReq(mindLifetimeMgmtOpCbFn callback);
|
||||
void finalizeReq(mindLifetimeMgmtOpCbFn callback);
|
||||
void initializeReq(Callback<mindLifetimeMgmtOpCbFn> callback);
|
||||
void finalizeReq(Callback<mindLifetimeMgmtOpCbFn> callback);
|
||||
|
||||
// ComponentThread access methods
|
||||
std::shared_ptr<MindThread> getComponentThread(
|
||||
@@ -36,11 +37,14 @@ public:
|
||||
|
||||
// Thread management methods (moved from ComponentThread)
|
||||
typedef std::function<void()> mindThreadLifetimeMgmtOpCbFn;
|
||||
void joltAllMindThreadsReq(mindThreadLifetimeMgmtOpCbFn callback);
|
||||
void startAllMindThreadsReq(mindThreadLifetimeMgmtOpCbFn callback);
|
||||
void pauseAllMindThreadsReq(mindThreadLifetimeMgmtOpCbFn callback);
|
||||
void resumeAllMindThreadsReq(mindThreadLifetimeMgmtOpCbFn callback);
|
||||
void exitAllMindThreadsReq(mindThreadLifetimeMgmtOpCbFn callback);
|
||||
void joltAllMindThreadsReq(Callback<mindThreadLifetimeMgmtOpCbFn> callback);
|
||||
void startAllMindThreadsReq(
|
||||
Callback<mindThreadLifetimeMgmtOpCbFn> callback);
|
||||
void pauseAllMindThreadsReq(
|
||||
Callback<mindThreadLifetimeMgmtOpCbFn> callback);
|
||||
void resumeAllMindThreadsReq(
|
||||
Callback<mindThreadLifetimeMgmtOpCbFn> callback);
|
||||
void exitAllMindThreadsReq(Callback<mindThreadLifetimeMgmtOpCbFn> callback);
|
||||
|
||||
// CPU distribution method
|
||||
void distributeAndPinThreadsAcrossCpus();
|
||||
|
||||
Reference in New Issue
Block a user