summaryrefslogtreecommitdiff
path: root/mysys/my_winthread.c
diff options
context:
space:
mode:
authorVladislav Vaintroub <vvaintroub@mysql.com>2009-09-30 03:22:57 +0200
committerVladislav Vaintroub <vvaintroub@mysql.com>2009-09-30 03:22:57 +0200
commite6090f10bb581e8f16f8ecb676a27e184548ef24 (patch)
tree8e7150c7ea9c0ffce7f59ab3f3836d63c8a574ea /mysys/my_winthread.c
parent1ab2577461b48be8df9f36275c116bcb4fa9d245 (diff)
downloadmariadb-git-e6090f10bb581e8f16f8ecb676a27e184548ef24.tar.gz
Windows improvements : manual backport of
htttp://lists.mysql.com/commits/50957?f=plain Always use TLS functions instead of __declspec(thread) to access thread local storage variables. The change removes the necessity to recomplile the same source files twice - with USE_TLS for DLLs and without USE_TLS for EXEs. Real benefit of this change is better readability and maintainability of TLS functions within MySQL. There is a performance loss using TlsXXX functions compared to __declspec but the difference is negligible in practice. In a sysbench-like benchmark I ran with with TlsGetValue, pthread_[get|set]_specific was called 600000000 times and took 0.17sec of total 35min CPU time, or 0.008%.
Diffstat (limited to 'mysys/my_winthread.c')
-rw-r--r--mysys/my_winthread.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/mysys/my_winthread.c b/mysys/my_winthread.c
index e94369bec32..543e1787fb6 100644
--- a/mysys/my_winthread.c
+++ b/mysys/my_winthread.c
@@ -129,12 +129,5 @@ void pthread_exit(void *a)
_endthread();
}
-/* This is neaded to get the macro pthread_setspecific to work */
-
-int win_pthread_setspecific(void *a,void *b,uint length)
-{
- memcpy(a,b,length);
- return 0;
-}
#endif