From 462f18c7b25fe3e467f837647d07ab0a78aa8d2b Mon Sep 17 00:00:00 2001 From: marha Date: Sun, 22 Feb 2015 21:39:56 +0100 Subject: Merged origin/release (checked in because wanted to merge new stuff) --- openssl/crypto/threads/th-lock.c | 461 +++++++++++++++++++-------------------- 1 file changed, 221 insertions(+), 240 deletions(-) (limited to 'openssl/crypto/threads/th-lock.c') diff --git a/openssl/crypto/threads/th-lock.c b/openssl/crypto/threads/th-lock.c index 14aae5f91..1b5765948 100644 --- a/openssl/crypto/threads/th-lock.c +++ b/openssl/crypto/threads/th-lock.c @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -61,21 +61,21 @@ #include #include #ifdef LINUX -#include +# include #endif #ifdef OPENSSL_SYS_WIN32 -#include +# include #endif #ifdef SOLARIS -#include -#include +# include +# include #endif #ifdef IRIX -#include -#include +# include +# include #endif #ifdef PTHREADS -#include +# include #endif #include #include @@ -88,16 +88,19 @@ void CRYPTO_thread_setup(void); void CRYPTO_thread_cleanup(void); -static void irix_locking_callback(int mode,int type,char *file,int line); -static void solaris_locking_callback(int mode,int type,char *file,int line); -static void win32_locking_callback(int mode,int type,char *file,int line); -static void pthreads_locking_callback(int mode,int type,char *file,int line); +static void irix_locking_callback(int mode, int type, char *file, int line); +static void solaris_locking_callback(int mode, int type, char *file, + int line); +static void win32_locking_callback(int mode, int type, char *file, int line); +static void pthreads_locking_callback(int mode, int type, char *file, + int line); -static unsigned long irix_thread_id(void ); -static unsigned long solaris_thread_id(void ); -static unsigned long pthreads_thread_id(void ); +static unsigned long irix_thread_id(void); +static unsigned long solaris_thread_id(void); +static unsigned long pthreads_thread_id(void); -/* usage: +/*- + * usage: * CRYPTO_thread_setup(); * application code * CRYPTO_thread_cleanup(); @@ -110,141 +113,132 @@ static unsigned long pthreads_thread_id(void ); static HANDLE *lock_cs; void CRYPTO_thread_setup(void) - { - int i; +{ + int i; - lock_cs=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(HANDLE)); - for (i=0; i