diff options
author | unknown <msvensson@pilot.blaudden> | 2007-05-14 16:04:36 +0200 |
---|---|---|
committer | unknown <msvensson@pilot.blaudden> | 2007-05-14 16:04:36 +0200 |
commit | 6d88cdf828e01a564b1dc40349f3780f0c18a9f5 (patch) | |
tree | bb964a4a82a55db81f6623c02bfee8cd2c61a870 /mysys | |
parent | fd14e73c26ee54c54005389f6244a05dbe22dc6d (diff) | |
download | mariadb-git-6d88cdf828e01a564b1dc40349f3780f0c18a9f5.tar.gz |
Bug#27597 mysqld-debug broken
- Send errors from RTC(Runtime Error Check) to stderr instead of
popping up an MessageBox asking to debug
mysys/my_init.c:
Initialize a handler for RTC errors that write the problem
description to stderr instead of popping up an MessageBox
asking to debug
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/my_init.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mysys/my_init.c b/mysys/my_init.c index 2bcf5f44c4d..32d3f07fd31 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -262,6 +262,34 @@ void my_parameter_handler(const wchar_t * expression, const wchar_t * function, } +#ifdef __MSVC_RUNTIME_CHECKS +#include <rtcapi.h> + +/* Turn off runtime checks for 'handle_rtc_failure' */ +#pragma runtime_checks("", off) + +/* + handle_rtc_failure + Catch the RTC error and dump it to stderr +*/ + +int handle_rtc_failure(int err_type, const char *file, int line, + const char* module, const char *format, ...) +{ + va_list args; + va_start(args, format); + fprintf(stderr, "Error:"); + vfprintf(stderr, format, args); + fprintf(stderr, " At %s:%d\n", file, line); + va_end(args); + (void) fflush(stderr); + + return 0; /* Error is handled */ +} +#pragma runtime_checks("", on) +#endif + + static void my_win_init(void) { HKEY hSoftMysql ; @@ -292,6 +320,14 @@ static void my_win_init(void) _set_invalid_parameter_handler(my_parameter_handler); #endif #endif +#ifdef __MSVC_RUNTIME_CHECKS + /* + Install handler to send RTC (Runtime Error Check) warnings + to log file + */ + _RTC_SetErrorFunc(handle_rtc_failure); +#endif + _tzset(); /* apre la chiave HKEY_LOCAL_MACHINES\software\MySQL */ |