diff options
author | Michael Widenius <monty@askmonty.org> | 2009-04-08 23:08:38 +0300 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2009-04-08 23:08:38 +0300 |
commit | b09c0acd4ef124c33111c48a76be987500ff39f9 (patch) | |
tree | 7c9a1c1a36d23a814477640768d0f7af6aaa6e68 | |
parent | 8b0c4b7773ca86d7b68338aefd1627753eaeb0fd (diff) | |
download | mariadb-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.cc | 4 | ||||
-rw-r--r-- | sql/sql_string.cc | 4 | ||||
-rw-r--r-- | sql/strfunc.cc | 3 |
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; |