| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Platform-specific code for Win32. | 5 // Platform-specific code for Win32. |
| 6 | 6 |
| 7 // Secure API functions are not available using MinGW with msvcrt.dll | 7 // Secure API functions are not available using MinGW with msvcrt.dll |
| 8 // on Windows XP. Make sure MINGW_HAS_SECURE_API is not defined to | 8 // on Windows XP. Make sure MINGW_HAS_SECURE_API is not defined to |
| 9 // disable definition of secure API functions in standard headers that | 9 // disable definition of secure API functions in standard headers that |
| 10 // would conflict with our own implementation. | 10 // would conflict with our own implementation. |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 | 39 |
| 40 inline void MemoryBarrier() { | 40 inline void MemoryBarrier() { |
| 41 int barrier = 0; | 41 int barrier = 0; |
| 42 __asm__ __volatile__("xchgl %%eax,%0 ":"=r" (barrier)); | 42 __asm__ __volatile__("xchgl %%eax,%0 ":"=r" (barrier)); |
| 43 } | 43 } |
| 44 | 44 |
| 45 #endif // __MINGW64_VERSION_MAJOR | 45 #endif // __MINGW64_VERSION_MAJOR |
| 46 | 46 |
| 47 | 47 |
| 48 int localtime_s(tm* out_tm, const time_t* time) { | 48 int localtime_s(tm* out_tm, const time_t* time) { |
| 49 tm* posix_local_time_struct = localtime(time); // NOLINT | 49 tm* posix_local_time_struct = localtime_r(time, out_tm); |
| 50 if (posix_local_time_struct == NULL) return 1; | 50 if (posix_local_time_struct == NULL) return 1; |
| 51 *out_tm = *posix_local_time_struct; | |
| 52 return 0; | 51 return 0; |
| 53 } | 52 } |
| 54 | 53 |
| 55 | 54 |
| 56 int fopen_s(FILE** pFile, const char* filename, const char* mode) { | 55 int fopen_s(FILE** pFile, const char* filename, const char* mode) { |
| 57 *pFile = fopen(filename, mode); | 56 *pFile = fopen(filename, mode); |
| 58 return *pFile != NULL ? 0 : 1; | 57 return *pFile != NULL ? 0 : 1; |
| 59 } | 58 } |
| 60 | 59 |
| 61 int _vsnprintf_s(char* buffer, size_t sizeOfBuffer, size_t count, | 60 int _vsnprintf_s(char* buffer, size_t sizeOfBuffer, size_t count, |
| (...skipping 1335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1397 | 1396 |
| 1398 | 1397 |
| 1399 void Thread::SetThreadLocal(LocalStorageKey key, void* value) { | 1398 void Thread::SetThreadLocal(LocalStorageKey key, void* value) { |
| 1400 BOOL result = TlsSetValue(static_cast<DWORD>(key), value); | 1399 BOOL result = TlsSetValue(static_cast<DWORD>(key), value); |
| 1401 USE(result); | 1400 USE(result); |
| 1402 DCHECK(result); | 1401 DCHECK(result); |
| 1403 } | 1402 } |
| 1404 | 1403 |
| 1405 } // namespace base | 1404 } // namespace base |
| 1406 } // namespace v8 | 1405 } // namespace v8 |
| OLD | NEW |