Debug:Qutex: Add deadlock detection based on elapsed time
We now detect that a deadlock is likely when CONFIG_DEBUG_QUTEX_DEADLOCK_TIMEOUT_MS has elapsed. This is the preliminary work required to do a backtrace through the call stack and figure out if a deadlock has really occured. To do this, we'd have to go through the async call chain and search for a previous caller which acquired the same qutex as the one that first failed during this Lockvoker LockSet acquisition attempt.
This commit is contained in:
+3
-2
@@ -24,8 +24,8 @@ public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
Qutex()
|
||||
: isOwned(false)
|
||||
Qutex(const std::string &_name)
|
||||
: isOwned(false), name(_name)
|
||||
{}
|
||||
|
||||
/**
|
||||
@@ -88,6 +88,7 @@ public:
|
||||
SpinLock lock;
|
||||
LockerAndInvokerBase::List queue;
|
||||
bool isOwned;
|
||||
std::string name;
|
||||
};
|
||||
|
||||
} // namespace smo
|
||||
|
||||
Reference in New Issue
Block a user