Commit d8fb19e1 authored by unknown's avatar unknown

Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint

into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint-bug20166


BitKeeper/etc/ignore:
  auto-union
BitKeeper/deleted/.del-init_db.sql:
  Auto merged
BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
  Auto merged
client/mysqltest.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
parents 838e89de 22cac737
...@@ -696,6 +696,7 @@ mysql-test/*.ds? ...@@ -696,6 +696,7 @@ mysql-test/*.ds?
mysql-test/*.vcproj mysql-test/*.vcproj
mysql-test/gmon.out mysql-test/gmon.out
mysql-test/install_test_db mysql-test/install_test_db
mysql-test/lib/init_db.sql
mysql-test/mtr mysql-test/mtr
mysql-test/mysql-test-run mysql-test/mysql-test-run
mysql-test/mysql-test-run-shell mysql-test/mysql-test-run-shell
...@@ -1098,6 +1099,7 @@ scripts/mysql_explain_log ...@@ -1098,6 +1099,7 @@ scripts/mysql_explain_log
scripts/mysql_find_rows scripts/mysql_find_rows
scripts/mysql_fix_extensions scripts/mysql_fix_extensions
scripts/mysql_fix_privilege_tables scripts/mysql_fix_privilege_tables
scripts/mysql_fix_privilege_tables.sql
scripts/mysql_install_db scripts/mysql_install_db
scripts/mysql_secure_installation scripts/mysql_secure_installation
scripts/mysql_setpermission scripts/mysql_setpermission
...@@ -1335,4 +1337,3 @@ win/vs71cache.txt ...@@ -1335,4 +1337,3 @@ win/vs71cache.txt
win/vs8cache.txt win/vs8cache.txt
zlib/*.ds? zlib/*.ds?
zlib/*.vcproj zlib/*.vcproj
scripts/mysql_fix_privilege_tables.sql
...@@ -60,6 +60,11 @@ ...@@ -60,6 +60,11 @@
# endif # endif
#endif #endif
/* Use cygwin for --exec and --system before 5.0 */
#if MYSQL_VERSION_ID < 50000
#define USE_CYGWIN
#endif
#define MAX_VAR_NAME_LENGTH 256 #define MAX_VAR_NAME_LENGTH 256
#define MAX_COLUMNS 256 #define MAX_COLUMNS 256
#define MAX_EMBEDDED_SERVER_ARGS 64 #define MAX_EMBEDDED_SERVER_ARGS 64
...@@ -5356,8 +5361,9 @@ void run_query_stmt(MYSQL *mysql, struct st_command *command, ...@@ -5356,8 +5361,9 @@ void run_query_stmt(MYSQL *mysql, struct st_command *command,
/* /*
If we got here the statement succeeded and was expected to do so, If we got here the statement succeeded and was expected to do so,
get data. Note that this can still give errors found during execution! get data. Note that this can still give errors found during execution!
Store the result of the query if if will return any fields
*/ */
if (mysql_stmt_store_result(stmt)) if (mysql_stmt_field_count(stmt) && mysql_stmt_store_result(stmt))
{ {
handle_error(command, mysql_stmt_errno(stmt), handle_error(command, mysql_stmt_errno(stmt),
mysql_stmt_error(stmt), mysql_stmt_sqlstate(stmt), ds); mysql_stmt_error(stmt), mysql_stmt_sqlstate(stmt), ds);
......
...@@ -34,7 +34,7 @@ benchdir_root= $(prefix) ...@@ -34,7 +34,7 @@ benchdir_root= $(prefix)
testdir = $(benchdir_root)/mysql-test testdir = $(benchdir_root)/mysql-test
EXTRA_SCRIPTS = mysql-test-run-shell.sh install_test_db.sh valgrind.supp $(PRESCRIPTS) EXTRA_SCRIPTS = mysql-test-run-shell.sh install_test_db.sh valgrind.supp $(PRESCRIPTS)
EXTRA_DIST = $(EXTRA_SCRIPTS) EXTRA_DIST = $(EXTRA_SCRIPTS)
GENSCRIPTS = mysql-test-run-shell mysql-test-run install_test_db mtr GENSCRIPTS = mysql-test-run-shell mysql-test-run install_test_db mtr lib/init_db.sql
PRESCRIPTS = mysql-test-run.pl PRESCRIPTS = mysql-test-run.pl
test_SCRIPTS = $(GENSCRIPTS) $(PRESCRIPTS) test_SCRIPTS = $(GENSCRIPTS) $(PRESCRIPTS)
test_DATA = std_data/client-key.pem \ test_DATA = std_data/client-key.pem \
...@@ -123,6 +123,11 @@ mysql-test-run: ...@@ -123,6 +123,11 @@ mysql-test-run:
$(RM) -f mysql-test-run $(RM) -f mysql-test-run
$(LN_S) mysql-test-run.pl mysql-test-run $(LN_S) mysql-test-run.pl mysql-test-run
# Build init_db.sql by executing mysql_create_system_tables
lib/init_db.sql:
$(top_builddir)/scripts/mysql_create_system_tables \
test . \@HOSTNAME\@ > lib/init_db.sql
SUFFIXES = .sh SUFFIXES = .sh
.sh: .sh:
......
...@@ -22,7 +22,7 @@ use Socket; ...@@ -22,7 +22,7 @@ use Socket;
use Errno; use Errno;
use strict; use strict;
use POSIX 'WNOHANG'; use POSIX qw(WNOHANG SIGHUP);
sub mtr_run ($$$$$$;$); sub mtr_run ($$$$$$;$);
sub mtr_spawn ($$$$$$;$); sub mtr_spawn ($$$$$$;$);
...@@ -139,19 +139,18 @@ sub spawn_impl ($$$$$$$$) { ...@@ -139,19 +139,18 @@ sub spawn_impl ($$$$$$$$) {
{ {
if ( $! == $!{EAGAIN} ) # See "perldoc Errno" if ( $! == $!{EAGAIN} ) # See "perldoc Errno"
{ {
mtr_debug("Got EAGAIN from fork(), sleep 1 second and redo"); mtr_warning("Got EAGAIN from fork(), sleep 1 second and redo");
sleep(1); sleep(1);
redo FORK; redo FORK;
} }
else
{ mtr_error("$path ($pid) can't be forked, error: $!");
mtr_error("$path ($pid) can't be forked");
}
} }
if ( $pid ) if ( $pid )
{ {
spawn_parent_impl($pid,$mode,$path); return spawn_parent_impl($pid,$mode,$path);
} }
else else
{ {
...@@ -216,8 +215,11 @@ sub spawn_impl ($$$$$$$$) { ...@@ -216,8 +215,11 @@ sub spawn_impl ($$$$$$$$) {
{ {
mtr_child_error("failed to execute \"$path\": $!"); mtr_child_error("failed to execute \"$path\": $!");
} }
mtr_error("Should never come here 1!");
} }
mtr_error("Should never come here 2!");
} }
mtr_error("Should never come here 3!");
} }
...@@ -230,12 +232,21 @@ sub spawn_parent_impl { ...@@ -230,12 +232,21 @@ sub spawn_parent_impl {
{ {
if ( $mode eq 'run' ) if ( $mode eq 'run' )
{ {
# Simple run of command, we wait for it to return # Simple run of command, wait blocking for it to return
my $ret_pid= waitpid($pid,0); my $ret_pid= waitpid($pid,0);
if ( $ret_pid != $pid ) if ( $ret_pid != $pid )
{ {
mtr_error("waitpid($pid, 0) returned $ret_pid " . # The "simple" waitpid has failed, print debug info
"when waiting for '$path'"); # and try to handle the error
mtr_warning("waitpid($pid, 0) returned $ret_pid " .
"when waiting for '$path', error: '$!'");
if ( $ret_pid == -1 )
{
# waitpid returned -1, that would indicate the process
# no longer exist and waitpid couldn't wait for it.
return 1;
}
mtr_error("Error handling failed");
} }
return mtr_process_exit_status($?); return mtr_process_exit_status($?);
...@@ -1109,12 +1120,6 @@ sub mtr_kill_processes ($) { ...@@ -1109,12 +1120,6 @@ sub mtr_kill_processes ($) {
# #
############################################################################## ##############################################################################
# FIXME something is wrong, we sometimes terminate with "Hangup" written
# to tty, and no STDERR output telling us why.
# FIXME for some reason, setting HUP to 'IGNORE' will cause exit() to
# write out "Hangup", and maybe loose some output. We insert a sleep...
sub mtr_exit ($) { sub mtr_exit ($) {
my $code= shift; my $code= shift;
mtr_timer_stop_all($::glob_timers); mtr_timer_stop_all($::glob_timers);
...@@ -1126,7 +1131,7 @@ sub mtr_exit ($) { ...@@ -1126,7 +1131,7 @@ sub mtr_exit ($) {
# set ourselves as the group leader at startup (with # set ourselves as the group leader at startup (with
# POSIX::setpgrp(0,0)), but then care must be needed to always do # POSIX::setpgrp(0,0)), but then care must be needed to always do
# proper child process cleanup. # proper child process cleanup.
kill('HUP', -$$) if !$::glob_win32_perl and $$ == getpgrp(); POSIX::kill(SIGHUP, -$$) if !$::glob_win32_perl and $$ == getpgrp();
exit($code); exit($code);
} }
......
...@@ -2121,6 +2121,16 @@ sub remove_stale_vardir () { ...@@ -2121,6 +2121,16 @@ sub remove_stale_vardir () {
mtr_verbose("Removing $opt_vardir/"); mtr_verbose("Removing $opt_vardir/");
rmtree("$opt_vardir/"); rmtree("$opt_vardir/");
} }
if ( $opt_mem )
{
# A symlink from var/ to $opt_mem will be set up
# remove the $opt_mem dir to assure the symlink
# won't point at an old directory
mtr_verbose("Removing $opt_mem");
rmtree($opt_mem);
}
} }
else else
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment