layers: Hold lock during pipelineLayoutMap.erase()
authorTobin Ehlis <tobine@google.com>
Thu, 7 Jul 2016 19:40:29 +0000 (13:40 -0600)
committerTobin Ehlis <tobine@google.com>
Thu, 7 Jul 2016 19:43:00 +0000 (13:43 -0600)
layers/core_validation.cpp

index 13f2f48..bcf86eb 100644 (file)
@@ -5345,7 +5345,9 @@ DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const Vk
     layer_data *dev_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map);
     dev_data->device_dispatch_table->DestroyPipelineLayout(device, pipelineLayout, pAllocator);
 
+    std::unique_lock<std::mutex> lock(global_lock);
     dev_data->pipelineLayoutMap.erase(pipelineLayout);
+    lock.unlock();
 }
 
 VKAPI_ATTR void VKAPI_CALL