Merge pull request #2037 from billhollings/fix-debug-msg-deadlock

Fix deadlock when reporting debug message on MVKInstance destruction.
This commit is contained in:
Bill Hollings 2023-10-10 16:45:11 -04:00 committed by GitHub
commit ee271b34fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -723,11 +723,12 @@ MVKInstance::~MVKInstance() {
_useCreationCallbacks = true;
mvkDestroyContainerContents(_physicalDevices);
lock_guard<mutex> lock(_dcbLock);
mvkDestroyContainerContents(_debugReportCallbacks);
MVKLogInfo("Destroyed VkInstance for Vulkan version %s with %d Vulkan extensions enabled.",
// Since this message may invoke debug callbacks, do it before locking callbacks.
MVKLogInfo("Destroying VkInstance for Vulkan version %s with %d Vulkan extensions enabled.",
mvkGetVulkanVersionString(_appInfo.apiVersion).c_str(),
_enabledExtensions.getEnabledCount());
lock_guard<mutex> lock(_dcbLock);
mvkDestroyContainerContents(_debugReportCallbacks);
}