maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #01003
Rev 2747: Apply the following MySQL's fix: in file:///home/psergey/bzr-new/mysql-5.1-maria-contd4/
At file:///home/psergey/bzr-new/mysql-5.1-maria-contd4/
------------------------------------------------------------
revno: 2747
revision-id: psergey@xxxxxxxxxxxx-20090917224610-zeizjpwa3xp740bs
parent: psergey@xxxxxxxxxxxx-20090917001350-pyxja2suxylxhez1
committer: Sergey Petrunya <psergey@xxxxxxxxxxxx>
branch nick: mysql-5.1-maria-contd4
timestamp: Fri 2009-09-18 02:46:10 +0400
message:
Apply the following MySQL's fix:
Bug #46212 safe_process: FATAL ERROR, Unknown option: --nocore
Also fixed mysqld.cc to avoid popup-boxes
=== modified file 'mysql-test/lib/My/SafeProcess/safe_process_win.cc'
--- a/mysql-test/lib/My/SafeProcess/safe_process_win.cc 2009-05-14 19:56:53 +0000
+++ b/mysql-test/lib/My/SafeProcess/safe_process_win.cc 2009-09-17 22:46:10 +0000
@@ -163,6 +163,7 @@
HANDLE job_handle;
HANDLE wait_handles[NUM_HANDLES]= {0};
PROCESS_INFORMATION process_info= {0};
+ BOOL nocore= FALSE;
sprintf(safe_process_name, "safe_process[%d]", pid);
@@ -192,18 +193,22 @@
}
break;
} else {
- if ( strcmp(arg, "--verbose") == 0 )
+ if (strcmp(arg, "--verbose") == 0)
verbose++;
- else if ( strncmp(arg, "--parent-pid", 10) == 0 )
- {
- /* Override parent_pid with a value provided by user */
- const char* start;
+ else if (strncmp(arg, "--parent-pid", 10) == 0)
+ {
+ /* Override parent_pid with a value provided by user */
+ const char* start;
if ((start= strstr(arg, "=")) == NULL)
- die("Could not find start of option value in '%s'", arg);
- start++; /* Step past = */
- if ((parent_pid= atoi(start)) == 0)
- die("Invalid value '%s' passed to --parent-id", start);
- }
+ die("Could not find start of option value in '%s'", arg);
+ start++; /* Step past = */
+ if ((parent_pid= atoi(start)) == 0)
+ die("Invalid value '%s' passed to --parent-id", start);
+ }
+ else if (strcmp(arg, "--nocore") == 0)
+ {
+ nocore= TRUE;
+ }
else
die("Unknown option: %s", arg);
}
@@ -241,6 +246,11 @@
&jeli, sizeof(jeli)) == 0)
message("SetInformationJobObject failed, continue anyway...");
+ /* Avoid popup box */
+ if (nocore)
+ SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX
+ | SEM_NOOPENFILEERRORBOX);
+
#if 0
/* Setup stdin, stdout and stderr redirect */
si.dwFlags= STARTF_USESTDHANDLES;
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc 2009-09-15 10:46:35 +0000
+++ b/sql/mysqld.cc 2009-09-17 22:46:10 +0000
@@ -2194,15 +2194,14 @@
win_install_sigabrt_handler();
if(opt_console)
SetConsoleCtrlHandler(console_event_handler,TRUE);
- else
- {
+
/* Avoid MessageBox()es*/
- _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
- _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
- _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
- _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
- _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
- _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
+ _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
+ _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
+ _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
/*
Do not use SEM_NOGPFAULTERRORBOX in the following SetErrorMode (),
@@ -2211,8 +2210,8 @@
exception filter is not guaranteed to work in all situation
(like heap corruption or stack overflow)
*/
- SetErrorMode(SetErrorMode(0)|SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX);
- }
+ SetErrorMode(SetErrorMode(0) | SEM_FAILCRITICALERRORS
+ | SEM_NOOPENFILEERRORBOX);
SetUnhandledExceptionFilter(my_unhandler_exception_filter);
}