summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2005-08-04 15:23:21 +0500
committerunknown <hf@deer.(none)>2005-08-04 15:23:21 +0500
commit36a2a092ab7ab26d5e90f73003a48db8e313df2f (patch)
tree4badbee4567e4e13b89c505a90339c9f7d44afd2
parent5c2578b9bd36b8b3e82d5654ee3c2f97149b4d12 (diff)
downloadmariadb-git-36a2a092ab7ab26d5e90f73003a48db8e313df2f.tar.gz
Fix for bug #12177 (errorlog file isn't closed)
4.1 version of the patch libmysql/libmysql.c: here we close errorlog file sql/mysql_priv.h: stderror_file declared sql/mysqld.cc: stderror_file saved
-rw-r--r--libmysql/libmysql.c7
-rw-r--r--sql/mysql_priv.h1
-rw-r--r--sql/mysqld.cc3
3 files changed, 10 insertions, 1 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index e5681edd3d8..7c6d140d2ef 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -188,6 +188,13 @@ void STDCALL mysql_server_end()
mysql_thread_end();
free_charsets();
mysql_client_init= org_my_init_done= 0;
+#ifdef EMBEDDED_SERVER
+ if (stderror_file)
+ {
+ fclose(stderror_file);
+ stderror_file= 0;
+ }
+#endif
}
static MYSQL_PARAMETERS mysql_internal_parameters=
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index 6969433649f..c8a4c4740ef 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -941,6 +941,7 @@ extern char *default_tz_name;
extern MYSQL_LOG mysql_log,mysql_update_log,mysql_slow_log,mysql_bin_log;
extern FILE *bootstrap_file;
+extern FILE *stderror_file;
extern pthread_key(MEM_ROOT**,THR_MALLOC);
extern pthread_mutex_t LOCK_mysql_create_db,LOCK_Acl,LOCK_open,
LOCK_thread_count,LOCK_mapped_file,LOCK_user_locks, LOCK_status,
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 6bbd6f79aa2..9177703599c 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -382,6 +382,7 @@ Le_creator le_creator;
FILE *bootstrap_file;
+FILE *stderror_file=0;
I_List<i_string_pair> replicate_rewrite_db;
I_List<i_string> replicate_do_db, replicate_ignore_db;
@@ -2767,7 +2768,7 @@ server.");
#ifndef EMBEDDED_LIBRARY
if (freopen(log_error_file, "a+", stdout))
#endif
- freopen(log_error_file, "a+", stderr);
+ stderror_file= freopen(log_error_file, "a+", stderr);
}
}