#include #include #include namespace smo { #ifdef CONFIG_ENABLE_DEBUG_LOCKS template template void SerializedAsynchronousContinuation ::LockerAndInvoker ::handleLikelyDeadlock(Qutex& firstFailedQutex) { std::cerr << __func__ << ": Deadlock likely: " << "Lockvoker has been waiting for " << std::chrono::duration_cast( std::chrono::steady_clock::now() - this->creationTimestamp) .count() << "ms, failed on qutex @" << &firstFailedQutex << " (" << firstFailedQutex.name << ")" << std::endl; } #endif // Explicit template instantiations for the types we need // Add more as needed for your specific use cases } // namespace smo