diff options
author | unknown <monty@narttu.mysql.fi> | 2003-11-04 09:40:36 +0200 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-11-04 09:40:36 +0200 |
commit | f97f48acaf26aebc3f79de34b21607e11e1b91fa (patch) | |
tree | d387df22d5d3ffed50ecd8620f1eb18bc61ead7e /mysys/my_thr_init.c | |
parent | 1eebd1174e87836f4c5bcb58143b11a9dfb8e18f (diff) | |
parent | 56ebe77bd1639ee85958ff958bdad05819997043 (diff) | |
download | mariadb-git-f97f48acaf26aebc3f79de34b21607e11e1b91fa.tar.gz |
Merge with 4.0
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-apply-patch:
Delete: netware/BUILD/apply-patch
BitKeeper/deleted/.del-save-patch:
Delete: netware/BUILD/save-patch
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
Auto merged
BitKeeper/triggers/post-commit:
Auto merged
VC++Files/mysys/mysys.dsp:
Auto merged
client/mysqlbinlog.cc:
Auto merged
extra/resolveip.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/include/os0thread.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/thr/thr0loc.c:
Auto merged
libmysql/manager.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/mi_extra.c:
Auto merged
myisam/mi_locking.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
mysys/Makefile.am:
Auto merged
mysys/errors.c:
Auto merged
mysys/my_symlink.c:
Auto merged
mysys/my_thr_init.c:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/item_func.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/unireg.h:
Auto merged
client/mysqldump.c:
merge with 4.0 (quoted names)
configure.in:
use local file
include/my_pthread.h:
Use local file
innobase/include/srv0srv.h:
Use local file
innobase/row/row0sel.c:
Use local file
innobase/srv/srv0srv.c:
Use local file
libmysql/libmysql.c:
Use local file
myisam/myisamchk.c:
merge fixes
mysql-test/r/func_crypt.result:
update results
mysql-test/r/order_by.result:
update results
mysql-test/r/query_cache.result:
update results
mysql-test/r/range.result:
update results
mysql-test/r/rpl_reset_slave.result:
update results
mysql-test/r/rpl_trunc_binlog.result:
update results
mysql-test/t/func_crypt.test:
Added disable_warnings/enable warnings
mysql-test/t/query_cache.test:
merge tests
mysql-test/t/range.test:
merge tests
mysys/charset.c:
use local file (will merge patch separately)
sql/ha_innodb.cc:
use local file
sql/log_event.cc:
new slave_proxy_id handling
sql/slave.h:
merge
sql/sql_base.cc:
merge
sql/sql_parse.cc:
Fixes for counting user connect resourses
Added function comments for involved functions
sql/sql_select.cc:
Fix for not doing sort with LIMIT when OPTION_FOUND_ROWS is used
sql/unireg.cc:
merge fixes
support-files/mysql.server.sh:
merge fixes
Diffstat (limited to 'mysys/my_thr_init.c')
-rw-r--r-- | mysys/my_thr_init.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c index 32bc8ea3724..9ee7371b639 100644 --- a/mysys/my_thr_init.c +++ b/mysys/my_thr_init.c @@ -159,6 +159,7 @@ my_bool my_thread_init(void) tmp->id= ++thread_id; pthread_mutex_init(&tmp->mutex,MY_MUTEX_INIT_FAST); pthread_cond_init(&tmp->suspend, NULL); + tmp->init= 1; end: #if !defined(__WIN__) || defined(USE_TLS) || ! defined(SAFE_MUTEX) @@ -170,12 +171,14 @@ end: void my_thread_end(void) { - struct st_my_thread_var *tmp=my_thread_var; + struct st_my_thread_var *tmp; + tmp= my_pthread_getspecific(struct st_my_thread_var*,THR_KEY_mysys); + #ifdef EXTRA_DEBUG_THREADS fprintf(stderr,"my_thread_end(): tmp=%p,thread_id=%ld\n", tmp,pthread_self()); #endif - if (tmp) + if (tmp && tmp->init) { #if !defined(DBUG_OFF) /* tmp->dbug is allocated inside DBUG library */ @@ -191,6 +194,8 @@ void my_thread_end(void) pthread_mutex_destroy(&tmp->mutex); #if (!defined(__WIN__) && !defined(OS2)) || defined(USE_TLS) free(tmp); +#else + tmp->init= 0; #endif } /* The following free has to be done, even if my_thread_var() is 0 */ |