diff options
author | unknown <gkodinov/kgeorge@magare.gmz> | 2007-08-28 12:22:55 +0300 |
---|---|---|
committer | unknown <gkodinov/kgeorge@magare.gmz> | 2007-08-28 12:22:55 +0300 |
commit | 8c31792caec59295e83a9ee928a3c274c5d69fb7 (patch) | |
tree | 1b3aa84b6834dad1471c98ff26c673763a4c509f /mysys | |
parent | e87d47ea30725c4a59a37fbadf675728cc89e3b5 (diff) | |
parent | 06d80f111958ff9bebc9ccb4c58b9ba362484c00 (diff) | |
download | mariadb-git-8c31792caec59295e83a9ee928a3c274c5d69fb7.tar.gz |
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B28284-5.1-opt
include/my_pthread.h:
Auto merged
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/my_init.c | 3 | ||||
-rw-r--r-- | mysys/thr_mutex.c | 17 |
2 files changed, 14 insertions, 6 deletions
diff --git a/mysys/my_init.c b/mysys/my_init.c index 257edb351b4..b2eefe97ee8 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -79,6 +79,9 @@ my_bool my_init(void) #if defined(THREAD) && defined(SAFE_MUTEX) safe_mutex_global_init(); /* Must be called early */ #endif +#if defined(THREAD) && defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX) + fastmutex_global_init(); /* Must be called early */ +#endif netware_init(); #ifdef THREAD #if defined(HAVE_PTHREAD_INIT) diff --git a/mysys/thr_mutex.c b/mysys/thr_mutex.c index 007bae2accf..e7a927e562a 100644 --- a/mysys/thr_mutex.c +++ b/mysys/thr_mutex.c @@ -394,15 +394,11 @@ ulong mutex_delay(ulong delayloops) #define MY_PTHREAD_FASTMUTEX_SPINS 8 #define MY_PTHREAD_FASTMUTEX_DELAY 4 +static int cpu_count= 0; + int my_pthread_fastmutex_init(my_pthread_fastmutex_t *mp, const pthread_mutexattr_t *attr) { - static int cpu_count= 0; -#ifdef _SC_NPROCESSORS_CONF - if (!cpu_count && (attr == MY_MUTEX_INIT_FAST)) - cpu_count= sysconf(_SC_NPROCESSORS_CONF); -#endif - if ((cpu_count > 1) && (attr == MY_MUTEX_INIT_FAST)) mp->spins= MY_PTHREAD_FASTMUTEX_SPINS; else @@ -432,4 +428,13 @@ int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp) } return pthread_mutex_lock(&mp->mutex); } + + +void fastmutex_global_init(void) +{ +#ifdef _SC_NPROCESSORS_CONF + cpu_count= sysconf(_SC_NPROCESSORS_CONF); +#endif +} + #endif /* defined(THREAD) && defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX) */ |