summaryrefslogtreecommitdiff
path: root/system/utils/misc/StackWalk_windows.h
diff options
context:
space:
mode:
Diffstat (limited to 'system/utils/misc/StackWalk_windows.h')
-rw-r--r--system/utils/misc/StackWalk_windows.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/system/utils/misc/StackWalk_windows.h b/system/utils/misc/StackWalk_windows.h
new file mode 100644
index 000000000..5ffdd2068
--- /dev/null
+++ b/system/utils/misc/StackWalk_windows.h
@@ -0,0 +1,21 @@
+#ifndef mozilla_StackWalk_windows_h
+#define mozilla_StackWalk_windows_h
+
+#include "mozilla/Types.h"
+
+/**
+ * Allow stack walkers to work around the egregious win64 dynamic lookup table
+ * list API by locking around SuspendThread to avoid deadlock.
+ *
+ * See comment in StackWalk.cpp
+ */
+MFBT_API void
+AcquireStackWalkWorkaroundLock();
+
+MFBT_API bool
+TryAcquireStackWalkWorkaroundLock();
+
+MFBT_API void
+ReleaseStackWalkWorkaroundLock();
+
+#endif // mozilla_StackWalk_windows_h