From 3dc35ee493711f084efa682d2c8a3ba6780f6297 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Fri, 30 Mar 2012 16:00:10 +0300 Subject: [PATCH 1/2] Compatibility fixes by U Orsini --- cmd-line-utils/libedit/chartype.h | 2 +- cmd-line-utils/libedit/np/unvis.c | 2 +- cmd-line-utils/libedit/np/vis.c | 2 +- mysys/my_getsystime.c | 2 +- plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp | 1 + sql/mysqld.cc | 2 ++ 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cmd-line-utils/libedit/chartype.h b/cmd-line-utils/libedit/chartype.h index 40012afb47d..576abe13ad5 100644 --- a/cmd-line-utils/libedit/chartype.h +++ b/cmd-line-utils/libedit/chartype.h @@ -49,7 +49,7 @@ TODO : Verify if FreeBSD & AIX stores ISO 10646 in wchar_t. */ #if !defined(__NetBSD__) && !defined(__sun) \ && !(defined(__APPLE__) && defined(__MACH__)) \ - && !defined(__FreeBSD__) && !defined(_AIX) + && !defined(__FreeBSD__) && !defined(_AIX) && !defined(__OpenBSD__) #ifndef __STDC_ISO_10646__ /* In many places it is assumed that the first 127 code points are ASCII * compatible, so ensure wchar_t indeed does ISO 10646 and not some other diff --git a/cmd-line-utils/libedit/np/unvis.c b/cmd-line-utils/libedit/np/unvis.c index 812d280b2d8..a911720ad35 100644 --- a/cmd-line-utils/libedit/np/unvis.c +++ b/cmd-line-utils/libedit/np/unvis.c @@ -64,7 +64,7 @@ static char sccsid[] = "@(#)unvis.c 8.1 (Berkeley) 6/4/93"; #include "np/vis.h" #ifdef __weak_alias -__weak_alias(strnunvisx,_strnunvisx) +__weak_alias(strnunvisx,_strnunvisx); #endif #if !HAVE_VIS diff --git a/cmd-line-utils/libedit/np/vis.c b/cmd-line-utils/libedit/np/vis.c index d7cc37b4f47..884a7894332 100644 --- a/cmd-line-utils/libedit/np/vis.c +++ b/cmd-line-utils/libedit/np/vis.c @@ -77,7 +77,7 @@ #include #ifdef __weak_alias -__weak_alias(strvisx,_strvisx) +__weak_alias(strvisx,_strvisx); #endif #if !HAVE_VIS || !HAVE_SVIS diff --git a/mysys/my_getsystime.c b/mysys/my_getsystime.c index 268619a1334..8a3e97cffa7 100644 --- a/mysys/my_getsystime.c +++ b/mysys/my_getsystime.c @@ -124,7 +124,7 @@ void my_time_init() ulonglong my_getcputime() { -#ifdef HAVE_CLOCK_GETTIME +#ifdef CLOCK_THREAD_CPUTIME_ID struct timespec tp; if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &tp)) return 0; diff --git a/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp b/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp index 85887d1d55c..c254d17dff5 100644 --- a/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp +++ b/plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp @@ -7,6 +7,7 @@ */ #include +#include #include #include #include diff --git a/sql/mysqld.cc b/sql/mysqld.cc index aa3942521ed..36be99fc25c 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2678,6 +2678,7 @@ static void init_signals(void) my_sigset(THR_SERVER_ALARM,print_signal_warning); // Should never be called! +#ifdef HAVE_STACKTRACE if (opt_stack_trace || (test_flags & TEST_CORE_ON_SIGNAL)) { sa.sa_flags = SA_RESETHAND | SA_NODEFER; @@ -2700,6 +2701,7 @@ static void init_signals(void) sigaction(SIGILL, &sa, NULL); sigaction(SIGFPE, &sa, NULL); } +#endif #ifdef HAVE_GETRLIMIT if (test_flags & TEST_CORE_ON_SIGNAL) From 398f754b542487d0b2258f47d088eb6c6c2824f7 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Mon, 2 Apr 2012 11:45:07 +0300 Subject: [PATCH 2/2] Fixed lp:886479 "[PATCH] plugin boolean result" Thanks to Maarten Vanraes for the patch sql/sql_plugin.cc: Fix plugin boolean variables to receive the value "1", not "-1", when they are set to 1. Aside from being bizarre, the existing behavior is unportable: machines where char is unsigned print "255" instead. --- sql/sql_plugin.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 5b7c2d285e6..1547e576eca 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -2203,7 +2203,7 @@ static int check_func_bool(THD *thd, struct st_mysql_sys_var *var, { if (value->val_int(value, &tmp) < 0) goto err; - if (tmp > 1) + if (tmp != 0 && tmp != 1) { llstr(tmp, buff); strvalue= buff; @@ -2211,7 +2211,7 @@ static int check_func_bool(THD *thd, struct st_mysql_sys_var *var, } result= (int) tmp; } - *(my_bool *) save= -result; + *(my_bool *) save= result ? 1 : 0; return 0; err: my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), var->name, strvalue); @@ -2392,7 +2392,7 @@ err: static void update_func_bool(THD *thd, struct st_mysql_sys_var *var, void *tgt, const void *save) { - *(my_bool *) tgt= *(my_bool *) save ? TRUE : FALSE; + *(my_bool *) tgt= *(my_bool *) save ? 1 : 0; }