summaryrefslogtreecommitdiff
path: root/server-tools
diff options
context:
space:
mode:
authorunknown <monty@mysql.com/narttu.mysql.fi>2007-04-16 17:08:29 +0300
committerunknown <monty@mysql.com/narttu.mysql.fi>2007-04-16 17:08:29 +0300
commit48892844a9eab3c69143e1ae45690de3e947b650 (patch)
tree66913f618e8d3460513451fab5622e144183cd15 /server-tools
parent0a3abcf20d1497f2b4b9a0fdba2b280120a3b0f5 (diff)
downloadmariadb-git-48892844a9eab3c69143e1ae45690de3e947b650.tar.gz
Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc)
Change to use remove_file instead of 'system rm' in a lot of tests. (Should fix some windows test problems) Removed memory leak in mysql_test if sync_with_master fails. Do not terminate ndb_cluster_binary_log before the util thread has finnished. This should fix a shutdown bug where a thread is accessing injector_mutex after it's freed. Patch may fix Bug#27622 "mysqld shutdown, util thread continues, while binlog thread exits" client/mysqltest.c: Added missing 'mysql_free_result' (fixed confusing memory leak when sync_with_master fails)ug mysql-test/mysql-test-run.pl: Add the test case name to the instance manager log files mysql-test/r/rpl_log_pos.result: Made test more portable (for powermac) mysql-test/t/disabled.def: Disabled im_life_cycle (added bug#27851) mysql-test/t/myisam-system.test: Use remove_file instead of "system rm" mysql-test/t/ndb_autodiscover.test: Use remove_file instead of "system rm" mysql-test/t/ndb_loaddatalocal.test: Use remove_file instead of "system rm" mysql-test/t/rpl_loaddatalocal.test: Use remove_file instead of "system rm" mysql-test/t/rpl_log_pos.test: Made test more portable (for powermac) mysql-test/t/rpl_misc_functions.test: Use remove_file instead of "system rm" mysql-test/t/rpl_rbr_to_sbr.test: Use remove_file instead of "system rm" mysql-test/t/rpl_row_NOW.test: Use remove_file instead of "system rm" mysql-test/t/rpl_row_sp001.test: Use remove_file instead of "system rm" mysql-test/t/rpl_row_sp011.test: Use remove_file instead of "system rm" mysql-test/t/show_check.test: Use remove_file instead of "system rm" mysys/my_alloc.c: Don't return on zero argument, as this may hide other errors server-tools/instance-manager/log.cc: Log errors to both stdout and stderr (to know in which context we got the error) server-tools/instance-manager/thread_registry.cc: Log error before common assert (to know in which context we fail) sql/ha_ndbcluster.cc: Do not terminate ndb_cluster_binary_log before the util thread has finnished. sql/ha_ndbcluster.h: Do not terminate ndb_cluster_binary_log before the util thread has finnished. sql/ha_ndbcluster_binlog.cc: Do not terminate ndb_cluster_binary_log before the util thread has finnished. sql-common/client.c: Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc)
Diffstat (limited to 'server-tools')
-rw-r--r--server-tools/instance-manager/log.cc8
-rw-r--r--server-tools/instance-manager/thread_registry.cc7
2 files changed, 10 insertions, 5 deletions
diff --git a/server-tools/instance-manager/log.cc b/server-tools/instance-manager/log.cc
index 145f99db521..9f276523e49 100644
--- a/server-tools/instance-manager/log.cc
+++ b/server-tools/instance-manager/log.cc
@@ -134,7 +134,10 @@ void log_init()
/*
The function is intended to log error messages. It precedes a message
- with date, time and [ERROR] tag and print it to the stderr.
+ with date, time and [ERROR] tag and print it to the stderr and stdout.
+
+ We want to print it on stdout to be able to know in which context we got the
+ error
SYNOPSIS
log_error()
@@ -146,7 +149,10 @@ void log_error(const char *format, ...)
{
va_list args;
va_start(args, format);
+ log(stdout, "ERROR", format, args);
+ fflush(stdout);
log(stderr, "ERROR", format, args);
+ fflush(stderr);
va_end(args);
}
diff --git a/server-tools/instance-manager/thread_registry.cc b/server-tools/instance-manager/thread_registry.cc
index f3a67c5e127..700ed22afe7 100644
--- a/server-tools/instance-manager/thread_registry.cc
+++ b/server-tools/instance-manager/thread_registry.cc
@@ -18,12 +18,9 @@
#endif
#include "thread_registry.h"
-
-#include <my_global.h>
#include <thr_alarm.h>
-
#include <signal.h>
-
+#include "log.h"
#ifndef __WIN__
/* Kick-off signal handler */
@@ -67,6 +64,8 @@ Thread_registry::~Thread_registry()
/* Check that no one uses the repository. */
pthread_mutex_lock(&LOCK_thread_registry);
+ if (head.next != &head)
+ log_error("Not all threads died properly\n");
/* All threads must unregister */
DBUG_ASSERT(head.next == &head);