aboutsummaryrefslogtreecommitdiff
path: root/loader/debug_report.c
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-05-29 13:15:39 -0600
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-06-18 10:18:20 -0600
commit87e0fa040fad2093a7ae96943bca64b47cbadb62 (patch)
treed9b8d27e3b310417d46b89704b7ad8f38c9a8c3a /loader/debug_report.c
parentd00f0f53a7850b263789a7426028ad2a098c926f (diff)
downloadusermoji-87e0fa040fad2093a7ae96943bca64b47cbadb62.tar.xz
loader: Make global functions (instance chain entrypoints) thread safe
Diffstat (limited to 'loader/debug_report.c')
-rw-r--r--loader/debug_report.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/loader/debug_report.c b/loader/debug_report.c
index e9e36fac..a7fdb5d6 100644
--- a/loader/debug_report.c
+++ b/loader/debug_report.c
@@ -68,6 +68,7 @@ static VkResult debug_report_DbgCreateMsgCallback(
return VK_ERROR_OUT_OF_HOST_MEMORY;
struct loader_instance *inst = loader_instance(instance);
+ loader_platform_thread_lock_mutex(&loader_lock);
VkResult result = inst->disp->DbgCreateMsgCallback(instance, msgFlags, pfnMsgCallback, pUserData, pMsgCallback);
if (result == VK_SUCCESS) {
pNewDbgFuncNode->msgCallback = *pMsgCallback;
@@ -79,6 +80,7 @@ static VkResult debug_report_DbgCreateMsgCallback(
} else {
free(pNewDbgFuncNode);
}
+ loader_platform_thread_unlock_mutex(&loader_lock);
return result;
}
@@ -87,6 +89,7 @@ static VkResult debug_report_DbgDestroyMsgCallback(
VkDbgMsgCallback msg_callback)
{
struct loader_instance *inst = loader_instance(instance);
+ loader_platform_thread_lock_mutex(&loader_lock);
VkLayerDbgFunctionNode *pTrav = inst->DbgFunctionHead;
VkLayerDbgFunctionNode *pPrev = pTrav;
@@ -104,6 +107,7 @@ static VkResult debug_report_DbgDestroyMsgCallback(
pTrav = pTrav->pNext;
}
+ loader_platform_thread_unlock_mutex(&loader_lock);
return result;
}