Loading innobase/include/os0thread.h +13 −11 Original line number Diff line number Diff line Loading @@ -25,33 +25,37 @@ can wait inside InnoDB */ #ifdef __WIN__ typedef void* os_thread_t; typedef ulint os_thread_id_t; /* In Windows the thread id is an unsigned long int */ #else typedef pthread_t os_thread_t; typedef os_thread_t os_thread_id_t; /* In Unix we use the thread handle itself as the id of the thread */ #endif #define os_thread_id_t os_thread_t /* Define a function pointer type to use in a typecast */ typedef void* (*os_posix_f_t) (void*); /******************************************************************* Compares two threads or thread ids for equality */ Compares two thread ids for equality. */ ibool os_thread_eq( /*=========*/ /* out: TRUE if equal */ os_thread_t a, /* in: OS thread or thread id */ os_thread_t b); /* in: OS thread or thread id */ os_thread_id_t a, /* in: OS thread or thread id */ os_thread_id_t b); /* in: OS thread or thread id */ /******************************************************************** Converts an OS thread or thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ Converts an OS thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ ulint os_thread_pf( /*=========*/ /* out: unsigned long int */ os_thread_t a); /* in: thread or thread id */ os_thread_id_t a); /* in: thread or thread id */ /******************************************************************** Creates a new thread of execution. The execution starts from the function given. The start function takes a void* parameter Loading @@ -69,10 +73,8 @@ os_thread_create( #endif void* arg, /* in: argument to start function */ os_thread_id_t* thread_id); /* out: id of created thread; currently this is identical to the handle to the thread */ os_thread_id_t* thread_id); /* out: id of the created thread */ /********************************************************************* A thread calling this function ends its execution. */ Loading innobase/os/os0thread.c +12 −14 Original line number Diff line number Diff line Loading @@ -19,14 +19,14 @@ Created 9/8/1995 Heikki Tuuri #include "srv0srv.h" /******************************************************************* Compares two threads or thread ids for equality */ Compares two thread ids for equality. */ ibool os_thread_eq( /*=========*/ /* out: TRUE if equal */ os_thread_t a, /* in: OS thread or thread id */ os_thread_t b) /* in: OS thread or thread id */ os_thread_id_t a, /* in: OS thread or thread id */ os_thread_id_t b) /* in: OS thread or thread id */ { #ifdef __WIN__ if (a == b) { Loading @@ -44,13 +44,13 @@ os_thread_eq( } /******************************************************************** Converts an OS thread or thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ Converts an OS thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ ulint os_thread_pf( /*=========*/ os_thread_t a) os_thread_id_t a) { #ifdef UNIV_HPUX /* In HP-UX a pthread_t is a struct of 3 fields: field1, field2, Loading @@ -64,15 +64,15 @@ os_thread_pf( /********************************************************************* Returns the thread identifier of current thread. Currently the thread identifier is the thread handle itself. Note that in HP-UX pthread_t is a struct of 3 fields. */ identifier in Unix is the thread handle itself. Note that in HP-UX pthread_t is a struct of 3 fields. */ os_thread_id_t os_thread_get_curr_id(void) /*=======================*/ { #ifdef __WIN__ return(GetCurrentThread()); return(GetCurrentThreadId()); #else return(pthread_self()); #endif Loading @@ -95,10 +95,8 @@ os_thread_create( #endif void* arg, /* in: argument to start function */ os_thread_id_t* thread_id) /* out: id of created thread; currently this is identical to the handle to the thread */ os_thread_id_t* thread_id) /* out: id of the created thread */ { #ifdef __WIN__ os_thread_t thread; Loading @@ -120,7 +118,7 @@ os_thread_create( ut_a(SetThreadPriority(thread, srv_query_thread_priority)); } *thread_id = thread; *thread_id = win_thread_id; return(thread); #else Loading Loading
innobase/include/os0thread.h +13 −11 Original line number Diff line number Diff line Loading @@ -25,33 +25,37 @@ can wait inside InnoDB */ #ifdef __WIN__ typedef void* os_thread_t; typedef ulint os_thread_id_t; /* In Windows the thread id is an unsigned long int */ #else typedef pthread_t os_thread_t; typedef os_thread_t os_thread_id_t; /* In Unix we use the thread handle itself as the id of the thread */ #endif #define os_thread_id_t os_thread_t /* Define a function pointer type to use in a typecast */ typedef void* (*os_posix_f_t) (void*); /******************************************************************* Compares two threads or thread ids for equality */ Compares two thread ids for equality. */ ibool os_thread_eq( /*=========*/ /* out: TRUE if equal */ os_thread_t a, /* in: OS thread or thread id */ os_thread_t b); /* in: OS thread or thread id */ os_thread_id_t a, /* in: OS thread or thread id */ os_thread_id_t b); /* in: OS thread or thread id */ /******************************************************************** Converts an OS thread or thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ Converts an OS thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ ulint os_thread_pf( /*=========*/ /* out: unsigned long int */ os_thread_t a); /* in: thread or thread id */ os_thread_id_t a); /* in: thread or thread id */ /******************************************************************** Creates a new thread of execution. The execution starts from the function given. The start function takes a void* parameter Loading @@ -69,10 +73,8 @@ os_thread_create( #endif void* arg, /* in: argument to start function */ os_thread_id_t* thread_id); /* out: id of created thread; currently this is identical to the handle to the thread */ os_thread_id_t* thread_id); /* out: id of the created thread */ /********************************************************************* A thread calling this function ends its execution. */ Loading
innobase/os/os0thread.c +12 −14 Original line number Diff line number Diff line Loading @@ -19,14 +19,14 @@ Created 9/8/1995 Heikki Tuuri #include "srv0srv.h" /******************************************************************* Compares two threads or thread ids for equality */ Compares two thread ids for equality. */ ibool os_thread_eq( /*=========*/ /* out: TRUE if equal */ os_thread_t a, /* in: OS thread or thread id */ os_thread_t b) /* in: OS thread or thread id */ os_thread_id_t a, /* in: OS thread or thread id */ os_thread_id_t b) /* in: OS thread or thread id */ { #ifdef __WIN__ if (a == b) { Loading @@ -44,13 +44,13 @@ os_thread_eq( } /******************************************************************** Converts an OS thread or thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ Converts an OS thread id to a ulint. It is NOT guaranteed that the ulint is unique for the thread though! */ ulint os_thread_pf( /*=========*/ os_thread_t a) os_thread_id_t a) { #ifdef UNIV_HPUX /* In HP-UX a pthread_t is a struct of 3 fields: field1, field2, Loading @@ -64,15 +64,15 @@ os_thread_pf( /********************************************************************* Returns the thread identifier of current thread. Currently the thread identifier is the thread handle itself. Note that in HP-UX pthread_t is a struct of 3 fields. */ identifier in Unix is the thread handle itself. Note that in HP-UX pthread_t is a struct of 3 fields. */ os_thread_id_t os_thread_get_curr_id(void) /*=======================*/ { #ifdef __WIN__ return(GetCurrentThread()); return(GetCurrentThreadId()); #else return(pthread_self()); #endif Loading @@ -95,10 +95,8 @@ os_thread_create( #endif void* arg, /* in: argument to start function */ os_thread_id_t* thread_id) /* out: id of created thread; currently this is identical to the handle to the thread */ os_thread_id_t* thread_id) /* out: id of the created thread */ { #ifdef __WIN__ os_thread_t thread; Loading @@ -120,7 +118,7 @@ os_thread_create( ut_a(SetThreadPriority(thread, srv_query_thread_priority)); } *thread_id = thread; *thread_id = win_thread_id; return(thread); #else Loading