diff options
author | unknown <monty@mysql.com> | 2003-12-11 06:24:08 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2003-12-11 06:24:08 +0200 |
commit | 287661e66cc1fea6730b357bb56d48c6d065ef43 (patch) | |
tree | 1122f20a76a6996599a4c136c6be17aecb8f8bf6 /mysys/my_init.c | |
parent | 4119451ba1065274be6435349a786f7995fd4dae (diff) | |
download | mariadb-git-287661e66cc1fea6730b357bb56d48c6d065ef43.tar.gz |
Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061)
mysql_server_init() now returns error code if something went wrong (Bug #2062)
Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
Fixed bug in UNION statement with alias '*'. (Bug #1249)
Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
HOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
include/config-win.h:
Ensure that USE_SYMDIR is set for all windows versions
(This is set in makefiles, so this is just an extra safety measure)
include/my_pthread.h:
Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061)
include/my_sys.h:
my_init() now returns error code if something went wrong
include/mysql.h:
mysql_once_init() now returns error code if something went wrong
include/mysql_com.h:
my_init() now returns error code if something went wrong
libmysql/libmysql.c:
mysql_server_init() and mysql_once_init() now returns error code if something went wrong (Bug #2062)
mysql-test/r/limit.result:
Update results
mysql-test/r/select_found.result:
Update results
mysql-test/r/union.result:
Update results
mysql-test/t/limit.test:
Added test for DELETE ... ORDER BY ... LIMIT (bug #1024)
mysql-test/t/select_found.test:
Added test for problem with impossible WHERE (Bug #1468)
mysql-test/t/union.test:
Added test for problem with alias '*' (Bug #1249)
mysys/mf_pack.c:
Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
mysys/my_init.c:
my_init() now returns error code if something went wrong
mysys/my_lib.c:
More debug information
mysys/my_thr_init.c:
Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
sql/sql_base.cc:
Fixed bug in UNION statement with alias '*'. (Bug #1249)
sql/sql_delete.cc:
Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
sql/sql_select.cc:
FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
sql/sql_show.cc:
SHOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
sql/sql_yacc.yy:
Allow syntax UNION DISTINCT
Diffstat (limited to 'mysys/my_init.c')
-rw-r--r-- | mysys/my_init.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/mysys/my_init.c b/mysys/my_init.c index a8a184a2cb4..8d4ba2c97b6 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -62,13 +62,22 @@ static ulong atoi_octal(const char *str) } - /* Init my_sys functions and my_sys variabels */ +/* + Init my_sys functions and my_sys variabels + + SYNOPSIS + my_init() -void my_init(void) + RETURN + 0 ok + 1 Couldn't initialize environment +*/ + +my_bool my_init(void) { my_string str; if (my_init_done) - return; + return 0; my_init_done=1; #if defined(THREAD) && defined(SAFE_MUTEX) safe_mutex_global_init(); /* Must be called early */ @@ -78,7 +87,8 @@ void my_init(void) #if defined(HAVE_PTHREAD_INIT) pthread_init(); /* Must be called before DBUG_ENTER */ #endif - my_thread_global_init(); + if (my_thread_global_init()) + return 1; #if !defined( __WIN__) && !defined(OS2) && !defined(__NETWARE__) sigfillset(&my_signals); /* signals blocked by mf_brkhant */ #endif @@ -110,7 +120,7 @@ void my_init(void) #ifdef __WIN__ win32_init_tcp_ip(); #endif - DBUG_VOID_RETURN; + DBUG_RETURN(0); } } /* my_init */ |