summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2009-04-08 23:08:38 +0300
committerMichael Widenius <monty@askmonty.org>2009-04-08 23:08:38 +0300
commitb09c0acd4ef124c33111c48a76be987500ff39f9 (patch)
tree7c9a1c1a36d23a814477640768d0f7af6aaa6e68
parent8b0c4b7773ca86d7b68338aefd1627753eaeb0fd (diff)
downloadmariadb-git-b09c0acd4ef124c33111c48a76be987500ff39f9.tar.gz
Fixed wrong test for extra_ip_sock that caused mysqld to die on Mac if --extra-port was used
sql/sql_string.cc: Optimized tests to do fewer reallocs sql/strfunc.cc: Indentation fix
-rw-r--r--sql/mysqld.cc4
-rw-r--r--sql/sql_string.cc4
-rw-r--r--sql/strfunc.cc3
3 files changed, 6 insertions, 5 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index ab7a3198f68..4a75c8452e9 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -4974,11 +4974,11 @@ inline void kill_broken_server()
#if !defined(__NETWARE__)
unix_sock == INVALID_SOCKET ||
#endif
- (!opt_disable_networking &&
- (base_ip_sock == INVALID_SOCKET || extra_ip_sock != INVALID_SOCKET)))
+ (!opt_disable_networking && ip_sock == INVALID_SOCKET))
{
select_thread_in_use = 0;
/* The following call will never return */
+ DBUG_PRINT("general", ("killing server because socket is closed"));
kill_server(IF_NETWARE(MYSQL_KILL_SIGNAL, (void*) MYSQL_KILL_SIGNAL));
}
}
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index 34b310931d6..4b2450c0093 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -65,10 +65,10 @@ bool String::real_alloc(uint32 arg_length)
bool String::realloc(uint32 alloc_length)
{
- uint32 len=ALIGN_SIZE(alloc_length+1);
- if (Alloced_length < len)
+ if (Alloced_length <= alloc_length)
{
char *new_ptr;
+ uint32 len= ALIGN_SIZE(alloc_length+1);
if (alloced)
{
if ((new_ptr= (char*) my_realloc(Ptr,len,MYF(MY_WME))))
diff --git a/sql/strfunc.cc b/sql/strfunc.cc
index c03365cfc2b..d6f9784e4ad 100644
--- a/sql/strfunc.cc
+++ b/sql/strfunc.cc
@@ -38,7 +38,8 @@
static const char field_separator=',';
-ulonglong find_set(TYPELIB *lib, const char *str, uint length, CHARSET_INFO *cs,
+ulonglong find_set(TYPELIB *lib, const char *str, uint length,
+ CHARSET_INFO *cs,
char **err_pos, uint *err_len, bool *set_warning)
{
CHARSET_INFO *strip= cs ? cs : &my_charset_latin1;