| OLD | NEW |
| 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 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 { | 150 { |
| 151 static Mutex mutex; | 151 static Mutex mutex; |
| 152 return mutex; | 152 return mutex; |
| 153 } | 153 } |
| 154 | 154 |
| 155 void initializeThreading() | 155 void initializeThreading() |
| 156 { | 156 { |
| 157 // This should only be called once. | 157 // This should only be called once. |
| 158 ASSERT(!atomicallyInitializedStaticMutex); | 158 ASSERT(!atomicallyInitializedStaticMutex); |
| 159 | 159 |
| 160 WTF::double_conversion::initialize(); | |
| 161 // StringImpl::empty() does not construct its static string in a threadsafe
fashion, | 160 // StringImpl::empty() does not construct its static string in a threadsafe
fashion, |
| 162 // so ensure it has been initialized from here. | 161 // so ensure it has been initialized from here. |
| 163 StringImpl::empty(); | 162 StringImpl::empty(); |
| 164 atomicallyInitializedStaticMutex = new Mutex; | 163 atomicallyInitializedStaticMutex = new Mutex; |
| 165 threadMapMutex(); | 164 threadMapMutex(); |
| 166 wtfThreadData(); | 165 wtfThreadData(); |
| 167 s_dtoaP5Mutex = new Mutex; | 166 s_dtoaP5Mutex = new Mutex; |
| 168 initializeDates(); | 167 initializeDates(); |
| 169 } | 168 } |
| 170 | 169 |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 // Time is too far in the future (and would overflow unsigned long) - wait f
orever. | 484 // Time is too far in the future (and would overflow unsigned long) - wait f
orever. |
| 486 if (absoluteTime - currentTime > static_cast<double>(INT_MAX) / 1000.0) | 485 if (absoluteTime - currentTime > static_cast<double>(INT_MAX) / 1000.0) |
| 487 return INFINITE; | 486 return INFINITE; |
| 488 | 487 |
| 489 return static_cast<DWORD>((absoluteTime - currentTime) * 1000.0); | 488 return static_cast<DWORD>((absoluteTime - currentTime) * 1000.0); |
| 490 } | 489 } |
| 491 | 490 |
| 492 } // namespace WTF | 491 } // namespace WTF |
| 493 | 492 |
| 494 #endif // OS(WIN) | 493 #endif // OS(WIN) |
| OLD | NEW |