X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fthreads%2Fth-lock.c;h=7b303b281a4d5180aa5f16c42cb93474930fea05;hp=553d2218de76ebec8bbf8c4441316a463bb3e804;hb=918bb8652969fd53f0c390c1cd909265ed502c7e;hpb=26a3a48d65c7464b400ec1de439994d7f0d25fed diff --git a/crypto/threads/th-lock.c b/crypto/threads/th-lock.c index 553d2218de..7b303b281a 100644 --- a/crypto/threads/th-lock.c +++ b/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,26 +61,26 @@ #include #include #ifdef LINUX -#include +# include #endif -#ifdef WIN32 -#include +#ifdef OPENSSL_SYS_WIN32 +# include #endif #ifdef SOLARIS -#include -#include +# include +# include #endif #ifdef IRIX -#include -#include +# include +# include #endif #ifdef PTHREADS -#include +# include #endif #include #include #include -#include +#include "../../e_os.h" #include #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(); @@ -105,146 +108,133 @@ static unsigned long pthreads_thread_id(void ); #define THREAD_STACK_SIZE (16*1024) -#ifdef WIN32 +#ifdef OPENSSL_SYS_WIN32 static HANDLE *lock_cs; void CRYPTO_thread_setup(void) - { - int i; - - lock_cs=OPENSSL_malloc(CRYPTO_num_locks() * sizeof(HANDLE)); - for (i=0; i