mariadb/mysys
Vladislav Vaintroub 4dfbf2ec93 Bug#38522: 5 seconds delay when closing application using embedded server
The problem here is that embedded server starts handle_thread manager 
thread  on mysql_library_init() does not stop it on mysql_library_end().
At shutdown, my_thread_global_end() waits for thread count to become 0,
but since we did not stop the thread it will give up after 5 seconds.
             
Solution is to move shutdown for handle_manager thread from kill_server()
(mysqld specific) to clean_up() that is used by both embedded and mysqld.
            
This patch also contains some refactorings - to avoid duplicate code,
start_handle_manager() and stop_handle_manager() functions are introduced.
Unused variables are eliminated. handle_manager does not rely on global
variable abort_loop anymore to stop (abort_loop is not set for embedded).
            
Note: Specifically on Windows and when using DBUG version of libmysqld, 
the complete solution requires removing obsolete code my_thread_init() 
from my_thread_var(). This has a side effect that a DBUG statement 
after my_thread_end() can cause thread counter to be incremented, and 
embedded will hang for some seconds. Or worse, my_thread_init() will 
crash if critical sections have been deleted by the global cleanup 
routine that runs in a different thread. 

This patch also fixes and revert prior changes for Bug#38293 
"Libmysqld crash in mysql_library_init if language file missing".

Root cause of the crash observed in Bug#38293  was bug in my_thread_init() 
described above
2008-12-04 19:41:53 +01:00
..
.cvsignore
array.c
base64.c
ChangeLog
charset-def.c
charset.c
checksum.c
CMakeLists.txt Bug#37003 Tests sporadically crashes with embedded server 2008-06-18 13:17:15 -03:00
default.c Up-merge 5.0.66a-release changes (via 5.0) into 5.1. 2008-07-17 11:45:08 -06:00
default_modify.c
errors.c Fix for Bug#16902. 2008-06-16 10:05:00 +02:00
hash.c Bug#37958 - test main.plugin crash on Mac OS X when selecting from EXAMPLE engine. 2008-10-01 12:21:15 +02:00
list.c
make-ccc
make-conf.c
Makefile.am Bug#37003 Tests sporadically crashes with embedded server 2008-06-18 13:17:15 -03:00
md5.c
mf_arr_appstr.c
mf_brkhant.c
mf_cache.c
mf_dirname.c
mf_fn_ext.c
mf_format.c
mf_getdate.c
mf_iocache.c
mf_iocache2.c
mf_keycache.c Bug#37302 (missing DBUG_RETURN macro in function "find_key_block" (5.0 only)) 2008-08-11 15:08:12 -06:00
mf_keycaches.c
mf_loadpath.c
mf_pack.c Merge from 5.0-bugteam local. 2008-08-18 13:11:55 -04:00
mf_path.c
mf_qsort.c
mf_qsort2.c
mf_radix.c
mf_same.c
mf_sort.c
mf_soundex.c
mf_strip.c
mf_tempdir.c Bug#38293 Libmysqld crash in mysql_library_init if language file missing 2008-11-19 13:57:23 +04:00
mf_tempfile.c
mf_unixpath.c
mf_util.c
mf_wcomp.c
mf_wfile.c
mulalloc.c
my_access.c
my_aes.c
my_alarm.c
my_alloc.c Bug#38296 (low memory crash with many conditions in a query) 2008-08-11 10:10:00 -06:00
my_append.c
my_atomic.c
my_bit.c
my_bitmap.c
my_chsize.c
my_clock.c
my_compress.c
my_conio.c
my_copy.c
my_crc32.c
my_create.c
my_delete.c
my_div.c
my_dup.c
my_error.c
my_file.c
my_fopen.c
my_fstream.c
my_gethostbyname.c
my_gethwaddr.c
my_getncpus.c
my_getopt.c Bug#38293 Libmysqld crash in mysql_library_init if language file missing 2008-11-19 13:57:23 +04:00
my_getpagesize.c
my_getsystime.c
my_getwd.c
my_handler.c
my_handler_errors.h
my_init.c merge fix for 36279 2008-11-10 21:38:45 +01:00
my_largepage.c
my_lib.c
my_libwrap.c
my_lock.c
my_lockmem.c
my_malloc.c
my_memmem.c
my_messnc.c
my_mkdir.c
my_mmap.c
my_net.c
my_netware.c
my_new.cc
my_once.c
my_open.c
my_port.c
my_pread.c
my_pthread.c
my_quick.c
my_read.c
my_realloc.c
my_redel.c
my_rename.c
my_seek.c
my_sleep.c
my_static.c Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size 2008-08-19 15:56:41 +02:00
my_static.h Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size 2008-08-19 15:56:41 +02:00
my_symlink.c Bug#39102 valgrind build does not compile in realpath, which make DATA/INDEX DIR fail 2008-10-27 19:25:11 +04:00
my_symlink2.c
my_sync.c
my_thr_init.c Bug#38522: 5 seconds delay when closing application using embedded server 2008-12-04 19:41:53 +01:00
my_vle.c
my_wincond.c
my_windac.c
my_winthread.c
my_write.c
mysys_priv.h
ptr_cmp.c
queues.c
rijndael.c
safemalloc.c Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size 2008-08-21 06:48:28 +02:00
sha1.c
stacktrace.c merge fix from 5.0-bugteam 2008-09-16 15:23:07 +02:00
string.c
test_charset.c
test_dir.c
test_fn.c
test_xml.c
testhash.c
thr_alarm.c
thr_lock.c Merge Bug#36579 into mysql-5.1-bugteam 2008-08-25 10:57:34 -03:00
thr_mutex.c Bug#38941: fast mutexes in MySQL 5.1 have mutex contention when calling random() 2008-10-15 19:21:00 -03:00
thr_rwlock.c
tree.c
trie.c
typelib.c