mariadb/libmysql
Vladislav Vaintroub 51bd4415cc Bug#37226 Explicit call of my_thread_init() on Windows for every new thread.
Bug#33031 app linked to libmysql.lib crash if run as service in vista under 
localsystem
  

There are some problems using DllMain hook functions on Windows that 
automatically do global and per-thread initialization for libmysqld.dll

1)per-thread initialization(DLL_THREAD_ATTACH)
MySQL internally counts number of active threads that and causes a delay in in 
my_end() if not all threads are exited. But,there are threads that can be 
started either by Windows internally (often in TCP/IP scenarios) or by user 
himself - those threads are not necessarily using libmysql.dll functionality, 
but nonetheless the contribute to the count of open threads.

2)process-initialization (DLL_PROCESS_ATTACH)
my_init() calls WSAStartup that itself loads DLLs and can lead to a deadlock in 
Windows loader.

Fix is to remove dll initialization code from libmysql.dll in general case. I
still leave an environment variable LIBMYSQL_DLLINIT, which if set to any value 
will cause the old behavior (DLL init hooks will be called). This env.variable 
exists only to prevent breakage of existing Windows-only applications that 
don't do mysql_thread_init() and work ok today. Use of LIBMYSQL_DLLINIT is 
discouraged and it will be removed in 6.0
2008-09-01 20:04:17 +02:00
..
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
acinclude.m4 Import changeset 2000-07-31 21:29:14 +02:00
client_settings.h Fix compile warnings. 2007-09-29 23:31:08 +04:00
CMakeLists.txt Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2008-02-08 12:13:33 +01:00
conf_to_src.c manually merged 2004-08-18 19:57:55 +02:00
dll.c Bug#37226 Explicit call of my_thread_init() on Windows for every new thread. 2008-09-01 20:04:17 +02:00
errmsg.c Bug#27430 "Crash in subquery code when in PS and table DDL changed after 2008-05-20 20:36:26 +04:00
get_password.c fixes for build failures due to my yesterday's changeset forbidding 2008-02-19 18:45:11 +01:00
libmysql.c Bug#27430 "Crash in subquery code when in PS and table DDL changed after 2008-05-20 20:36:26 +04:00
libmysql.def Bug#29592 SQL Injection issue 2007-11-26 14:09:37 -02:00
libmysql.ver.in BUG#3074: Unversioned symbols in shared library 2006-01-17 18:51:08 +04:00
Makefile.am Merge polly.(none):/home/kaa/src/opt/bug32221/my50-bug31445 2007-11-22 14:39:07 +03:00
Makefile.shared Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2008-02-08 12:13:33 +01:00
manager.c Bug#34655 Compile error 2008-02-28 14:55:46 -03:00