X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fthreads_win.c;h=73203834c184cbbc522a7bce29a5f453420141d4;hp=7fdbc1f67fe5505c9f8eaf2563dc18a8837215e9;hb=a941920514995b520e7666897347fdcdcb5bf358;hpb=2de108dfa343c3e06eb98beb122cd06306bb12fd diff --git a/crypto/threads_win.c b/crypto/threads_win.c index 7fdbc1f67f..73203834c1 100644 --- a/crypto/threads_win.c +++ b/crypto/threads_win.c @@ -1,7 +1,7 @@ /* * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the OpenSSL license (the "License"). You may not use + * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -24,11 +24,15 @@ CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) return NULL; } +#if !defined(_WIN32_WCE) /* 0x400 is the spin count value suggested in the documentation */ if (!InitializeCriticalSectionAndSpinCount(lock, 0x400)) { OPENSSL_free(lock); return NULL; } +#else + InitializeCriticalSection(lock); +#endif return lock; } @@ -155,18 +159,6 @@ int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock) return 1; } -int CRYPTO_atomic_read(int *val, int *ret, CRYPTO_RWLOCK *lock) -{ - *ret = InterlockedCompareExchange(val, 0, 0); - return 1; -} - -int CRYPTO_atomic_write(int *val, int n, CRYPTO_RWLOCK *lock) -{ - InterlockedExchange(val, n); - return 1; -} - int openssl_init_fork_handlers(void) { return 0;