mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-10 01:08:21 +00:00
Bug 1317642 Disable WeakPtr thread assertions on MinGW r=froydnj
MinGW has two threading models: win32 API based, which disables std::thread, and POSIX based which enables it but requires an emulation library (winpthreads). Rather than attempting to switch to pthread emulation at this point, we are disabling the std::thread based assertion checking for WeakPtr on MinGW. MozReview-Commit-ID: BmHo70n6AuK --HG-- extra : rebase_source : 08495775b2925a797c8098216911d30c0b79ef3d
This commit is contained in:
parent
e5fcb76439
commit
4d9bda0d08
@ -88,8 +88,19 @@
|
||||
// its dereference, and destruction of the real object must all happen
|
||||
// on a single thread. The following macros implement assertions for
|
||||
// checking these conditions.
|
||||
//
|
||||
// We disable this on MinGW. MinGW has two threading models: win32
|
||||
// API based, which disables std::thread; and POSIX based which
|
||||
// enables it but requires an emulation library (winpthreads).
|
||||
// Rather than attempting to switch to pthread emulation at this point,
|
||||
// we are disabling the std::thread based assertion checking.
|
||||
//
|
||||
// In the future, to enable it we could
|
||||
// a. have libgcc/stdc++ support win32 threads natively
|
||||
// b. switch to POSIX-based threading in MinGW with pthread emulation
|
||||
// c. refactor it to not use std::thread
|
||||
|
||||
#if defined(DEBUG) || (defined(NIGHTLY_BUILD) && !defined(MOZ_PROFILING))
|
||||
#if !defined(__MINGW32__) && (defined(DEBUG) || (defined(NIGHTLY_BUILD) && !defined(MOZ_PROFILING)))
|
||||
|
||||
#include <thread>
|
||||
#define MOZ_WEAKPTR_DECLARE_THREAD_SAFETY_CHECK \
|
||||
|
Loading…
x
Reference in New Issue
Block a user