Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Side by Side Diff: Source/wtf/ThreadingWin.cpp

Issue 874203002: Add a thread-safety assertion in DEFINE_STATIC_LOCAL (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: added noncopyable Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2009 Google Inc. All rights reserved.
4 * Copyright (C) 2009 Torch Mobile, Inc. All rights reserved. 4 * Copyright (C) 2009 Torch Mobile, Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 if (absoluteTime < currentTime) 384 if (absoluteTime < currentTime)
385 return 0; 385 return 0;
386 386
387 // Time is too far in the future (and would overflow unsigned long) - wait f orever. 387 // Time is too far in the future (and would overflow unsigned long) - wait f orever.
388 if (absoluteTime - currentTime > static_cast<double>(INT_MAX) / 1000.0) 388 if (absoluteTime - currentTime > static_cast<double>(INT_MAX) / 1000.0)
389 return INFINITE; 389 return INFINITE;
390 390
391 return static_cast<DWORD>((absoluteTime - currentTime) * 1000.0); 391 return static_cast<DWORD>((absoluteTime - currentTime) * 1000.0);
392 } 392 }
393 393
394 #if ENABLE(ASSERT)
395 static bool s_threadCreated = false;
396
397 bool isAtomicallyInitializedStaticMutexLockHeld()
398 {
399 return atomicallyInitializedStaticMutex && atomicallyInitializedStaticMutex- >locked();
400 }
401
402 bool isBeforeThreadCreated()
403 {
404 return !s_threadCreated;
405 }
406
407 void willCreateThread()
408 {
409 s_threadCreated = true;
410 }
411 #endif
412
394 } // namespace WTF 413 } // namespace WTF
395 414
396 #endif // OS(WIN) 415 #endif // OS(WIN)
OLDNEW
« Source/platform/WebThreadSupportingGC.cpp ('K') | « Source/wtf/ThreadingPthreads.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698