mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Backport of this changeset
http://lists.mysql.com/commits/59686 Cleanup pthread_self(), pthread_create(), pthread_join() implementation on Windows. Prior implementation is was unnecessarily complicated and even differs in embedded and non-embedded case. Improvements in this patch: * pthread_t is now the unique thread ID, instead of HANDLE returned by beginthread This simplifies pthread_self() to be just straight GetCurrentThreadId(). prior it was much art involved in passing the beginthread() handle from the caller to the TLS structure in the child thread ( did not work for the main thread of course) * remove MySQL specific my_thread_init()/my_thread_end() from pthread_create. No automagic is done on Unix on pthread_create(). Having the same on Windows will improve portability and avoid extra #ifdef's * remove redefinition of getpid() - it was defined as GetCurrentThreadId()
This commit is contained in:
@ -39,10 +39,6 @@
|
||||
#define MIN_HANDSHAKE_SIZE 6
|
||||
#endif /* HAVE_OPENSSL */
|
||||
|
||||
#ifdef __WIN__
|
||||
extern void win_install_sigabrt_handler();
|
||||
#endif
|
||||
|
||||
/*
|
||||
Get structure for logging connection data for the current user
|
||||
*/
|
||||
@ -612,13 +608,8 @@ void thd_init_client_charset(THD *thd, uint cs_number)
|
||||
bool init_new_connection_handler_thread()
|
||||
{
|
||||
pthread_detach_this_thread();
|
||||
#if defined(__WIN__)
|
||||
win_install_sigabrt_handler();
|
||||
#else
|
||||
/* Win32 calls this in pthread_create */
|
||||
if (my_thread_init())
|
||||
return 1;
|
||||
#endif /* __WIN__ */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user