summaryrefslogtreecommitdiff
path: root/mysys/my_thr_init.c
diff options
context:
space:
mode:
authorcmiller@zippy.cornsilk.net <>2007-04-19 17:07:11 -0400
committercmiller@zippy.cornsilk.net <>2007-04-19 17:07:11 -0400
commit28b3218e453f6c173f76f86beec5a4f328b12bfd (patch)
treec22a5d7239b61efbe580a45608a82175ad7d25f9 /mysys/my_thr_init.c
parentf2b227dc5276a9fa79fac21ca2ab508b07176ca7 (diff)
downloadmariadb-git-28b3218e453f6c173f76f86beec5a4f328b12bfd.tar.gz
Bug #27964: pthread_key_create doesn't set errno, so don't report \
errno Vasil Dimov (at Oracle) noted that pthread_key_create() does not set errno, so if it fails then we return the wrong error code. Instead, capture the return value, which is the real error value, and instead report that.
Diffstat (limited to 'mysys/my_thr_init.c')
-rw-r--r--mysys/my_thr_init.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c
index 7a5fdbf8ad6..da465385b3e 100644
--- a/mysys/my_thr_init.c
+++ b/mysys/my_thr_init.c
@@ -79,11 +79,12 @@ static uint get_thread_lib(void);
my_bool my_thread_global_init(void)
{
+ int pth_ret;
thd_lib_detected= get_thread_lib();
- if (pthread_key_create(&THR_KEY_mysys,0))
+ if (pth_ret= pthread_key_create(&THR_KEY_mysys, NULL))
{
- fprintf(stderr,"Can't initialize threads: error %d\n",errno);
+ fprintf(stderr,"Can't initialize threads: pthread error %d\n", pth_ret);
return 1;
}