diff options
author | Alexander Nozdrin <alik@sun.com> | 2009-11-24 22:39:05 +0300 |
---|---|---|
committer | Alexander Nozdrin <alik@sun.com> | 2009-11-24 22:39:05 +0300 |
commit | 0a9d4e675ad3b176909d30c5a6aa8ab1f0b7186b (patch) | |
tree | 26b4bf4fbbd861b160ce09babbffd07603bb8c11 /include/my_pthread.h | |
parent | b4e9cc6988d04b10736056bb9958b8166715a567 (diff) | |
parent | bd6467805a4d232718589f8ba0f2b84493843aba (diff) | |
download | mariadb-git-0a9d4e675ad3b176909d30c5a6aa8ab1f0b7186b.tar.gz |
Auto-merge from mysql-next-mr.
Diffstat (limited to 'include/my_pthread.h')
-rw-r--r-- | include/my_pthread.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/my_pthread.h b/include/my_pthread.h index eff6d654f2e..3b95e2adb73 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -148,6 +148,7 @@ int pthread_join(pthread_t thread, void **value_ptr); #define pthread_detach_this_thread() #define pthread_condattr_init(A) #define pthread_condattr_destroy(A) +#define pthread_yield() SwitchToThread() /* per the platform's documentation */ #define pthread_yield() Sleep(0) @@ -354,6 +355,17 @@ void my_pthread_attr_getstacksize(pthread_attr_t *attrib, size_t *size); int my_pthread_mutex_trylock(pthread_mutex_t *mutex); #endif +#if !defined(HAVE_PTHREAD_YIELD_ONE_ARG) && !defined(HAVE_PTHREAD_YIELD_ZERO_ARG) +/* no pthread_yield() available */ +#ifdef HAVE_SCHED_YIELD +#define pthread_yield() sched_yield() +#elif defined(HAVE_PTHREAD_YIELD_NP) /* can be Mac OS X */ +#define pthread_yield() pthread_yield_np() +#elif defined(HAVE_THR_YIELD) +#define pthread_yield() thr_yield() +#endif +#endif + /* The defines set_timespec and set_timespec_nsec should be used for calculating an absolute time at which @@ -632,6 +644,7 @@ struct st_my_thread_var my_bool init; struct st_my_thread_var *next,**prev; void *opt_info; + void *stack_ends_here; #ifndef DBUG_OFF void *dbug; char name[THREAD_NAME_SIZE+1]; |