Index: third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc |
diff --git a/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_image_reader_module.cc b/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc |
similarity index 57% |
copy from third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_image_reader_module.cc |
copy to third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc |
index 6e81de9574b63d867e2b53e3c8968f2bd012893b..0a05af3daac986eb0bff5f996b3894ecb629342a 100644 |
--- a/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_image_reader_module.cc |
+++ b/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc |
@@ -1,4 +1,4 @@ |
-// Copyright 2015 The Crashpad Authors. All rights reserved. |
+// Copyright 2016 The Crashpad Authors. All rights reserved. |
// |
// Licensed under the Apache License, Version 2.0 (the "License"); |
// you may not use this file except in compliance with the License. |
@@ -14,6 +14,15 @@ |
#include <windows.h> |
-BOOL WINAPI DllMain(HINSTANCE hinstance, DWORD reason, LPVOID reserved) { |
+// This program intentionally blocks in DllMain which is executed with the |
+// loader lock locked. This allows us to test that |
+// CrashpadClient::DumpAndCrashTargetProcess() can still dump the target in this |
+// case. |
+BOOL WINAPI DllMain(HINSTANCE, DWORD reason, LPVOID) { |
+ switch (reason) { |
+ case DLL_PROCESS_DETACH: |
+ case DLL_THREAD_DETACH: |
+ Sleep(INFINITE); |
+ } |
return TRUE; |
} |