Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
d825808a
Commit
d825808a
authored
Aug 12, 2002
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
1239863b
b779b638
Changes
26
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
270 additions
and
220 deletions
+270
-220
Docs/manual.texi
Docs/manual.texi
+3
-2
include/global.h
include/global.h
+2
-0
include/my_no_pthread.h
include/my_no_pthread.h
+1
-1
libmysql/Makefile.shared
libmysql/Makefile.shared
+1
-1
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+1
-1
mysql-test/r/bigint.result
mysql-test/r/bigint.result
+2
-0
mysql-test/r/func_if.result
mysql-test/r/func_if.result
+1
-1
mysql-test/t/bigint.test
mysql-test/t/bigint.test
+7
-1
mysys/Makefile.am
mysys/Makefile.am
+1
-1
mysys/my_gethostbyname.c
mysys/my_gethostbyname.c
+0
-6
mysys/my_init.c
mysys/my_init.c
+0
-3
mysys/my_net.c
mysys/my_net.c
+0
-5
mysys/my_os2cond.c
mysys/my_os2cond.c
+12
-12
mysys/my_os2dirsrch.c
mysys/my_os2dirsrch.c
+33
-33
mysys/my_os2dirsrch.h
mysys/my_os2dirsrch.h
+10
-10
mysys/my_os2dlfcn.c
mysys/my_os2dlfcn.c
+2
-2
mysys/my_os2file64.c
mysys/my_os2file64.c
+72
-72
mysys/my_os2mutex.c
mysys/my_os2mutex.c
+4
-4
mysys/my_os2thread.c
mysys/my_os2thread.c
+3
-3
mysys/my_os2tls.c
mysys/my_os2tls.c
+22
-22
mysys/my_port.c
mysys/my_port.c
+40
-0
mysys/mysys_priv.h
mysys/mysys_priv.h
+3
-3
mysys/thr_rwlock.c
mysys/thr_rwlock.c
+0
-1
sql/ha_innobase.cc
sql/ha_innobase.cc
+32
-21
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+1
-6
sql/mysqld.cc
sql/mysqld.cc
+17
-9
No files found.
Docs/manual.texi
View file @
d825808a
...
@@ -46928,9 +46928,10 @@ not yet 100% confident in this code.
...
@@ -46928,9 +46928,10 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.52
@appendixsubsec Changes in release 3.23.52
@itemize @bullet
@itemize @bullet
@item
@item
Changed behaviour that @code{IF(condition,column,NULL)} returns column type
Fixed problem with @code{UNSIGNED BIGINT} on AIX.
@item
@item
Fixed a security bug with empty db column in db table
Fixed security bug when having an empty databasename in the @code{user.db}
table.
@item
@item
Changed initialisation of @code{RND()} to make it less predicatable.
Changed initialisation of @code{RND()} to make it less predicatable.
@item
@item
include/global.h
View file @
d825808a
...
@@ -104,6 +104,8 @@
...
@@ -104,6 +104,8 @@
#define _H_STRINGS
#define _H_STRINGS
#define _SYS_STREAM_H
#define _SYS_STREAM_H
#define _AIX32_CURSES
#define _AIX32_CURSES
#define longlong2double(A) my_longlong2double(A)
double
my_longlong2double
(
unsigned
long
long
A
);
#endif
#endif
#ifdef HAVE_BROKEN_SNPRINTF
/* HPUX 10.20 don't have this defined */
#ifdef HAVE_BROKEN_SNPRINTF
/* HPUX 10.20 don't have this defined */
...
...
include/my_no_pthread.h
View file @
d825808a
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
environment, easier to use.
environment, easier to use.
*/
*/
#if !defined(_my_no_pthread_h) && !defined(THREAD
S
)
#if !defined(_my_no_pthread_h) && !defined(THREAD)
#define _my_no_pthread_h
#define _my_no_pthread_h
#define pthread_mutex_init(A,B)
#define pthread_mutex_init(A,B)
...
...
libmysql/Makefile.shared
View file @
d825808a
...
@@ -57,7 +57,7 @@ mysysobjects1 = my_init.lo my_static.lo my_malloc.lo my_realloc.lo \
...
@@ -57,7 +57,7 @@ mysysobjects1 = my_init.lo my_static.lo my_malloc.lo my_realloc.lo \
thr_mutex.lo mulalloc.lo string.lo default.lo
\
thr_mutex.lo mulalloc.lo string.lo default.lo
\
my_compress.lo array.lo my_once.lo list.lo my_net.lo
\
my_compress.lo array.lo my_once.lo list.lo my_net.lo
\
charset.lo hash.lo mf_iocache.lo my_seek.lo
\
charset.lo hash.lo mf_iocache.lo my_seek.lo
\
my_pread.lo mf_cache.lo my_gethostbyname.lo
my_pread.lo mf_cache.lo my_gethostbyname.lo
my_port.lo
# Not needed in the minimum library
# Not needed in the minimum library
mysysobjects2
=
getopt.lo getopt1.lo getvar.lo my_lib.lo
mysysobjects2
=
getopt.lo getopt1.lo getvar.lo my_lib.lo
mysysobjects
=
$(mysysobjects1)
$(mysysobjects2)
mysysobjects
=
$(mysysobjects1)
$(mysysobjects2)
...
...
mysql-test/mysql-test-run.sh
View file @
d825808a
...
@@ -18,7 +18,7 @@ TZ=GMT-3; export TZ # for UNIX_TIMESTAMP tests to work
...
@@ -18,7 +18,7 @@ TZ=GMT-3; export TZ # for UNIX_TIMESTAMP tests to work
# Program Definitions
# Program Definitions
#--
#--
PATH
=
/bin:/usr/bin:/usr/local/bin:/usr/bsd:/usr/X11R6/bin
PATH
=
/bin:/usr/bin:/usr/local/bin:/usr/bsd:/usr/X11R6/bin
:/usr/bin/X11
# Standard functions
# Standard functions
...
...
mysql-test/r/bigint.result
View file @
d825808a
...
@@ -10,4 +10,6 @@ a
...
@@ -10,4 +10,6 @@ a
a
a
18446744073709551615
18446744073709551615
a
a
18446744073709551615
a
18446744073709551614
18446744073709551614
mysql-test/r/func_if.result
View file @
d825808a
...
@@ -34,4 +34,4 @@ aaa
...
@@ -34,4 +34,4 @@ aaa
sum(if(num is null,0.00,num))
sum(if(num is null,0.00,num))
144.54
144.54
min(if(y -x > 5,y,NULL)) max(if(y - x > 5,y,NULL))
min(if(y -x > 5,y,NULL)) max(if(y - x > 5,y,NULL))
6 5
6
16
6
mysql-test/t/bigint.test
View file @
d825808a
...
@@ -5,12 +5,18 @@ select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296;
...
@@ -5,12 +5,18 @@ select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296;
select
9223372036854775807
,
-
00
9223372036854775808
;
select
9223372036854775807
,
-
00
9223372036854775808
;
select
+
9999999999999999999
,
-
9999999999999999999
;
select
+
9999999999999999999
,
-
9999999999999999999
;
#
# In 3.23 we have to disable the test of column to bigint as
# this fails on AIX powerpc (the resolution for double is not good enough)
# This will work on 4.0 as we then have internal handling of bigint variables.
#
drop
table
if
exists
t1
;
drop
table
if
exists
t1
;
create
table
t1
(
a
bigint
unsigned
not
null
,
primary
key
(
a
));
create
table
t1
(
a
bigint
unsigned
not
null
,
primary
key
(
a
));
insert
into
t1
values
(
18446744073709551615
),
(
0xFFFFFFFFFFFFFFFE
);
insert
into
t1
values
(
18446744073709551615
),
(
0xFFFFFFFFFFFFFFFE
);
select
*
from
t1
;
select
*
from
t1
;
select
*
from
t1
where
a
=
18446744073709551615
;
select
*
from
t1
where
a
=
18446744073709551615
;
#
select * from t1 where a='18446744073709551615';
select
*
from
t1
where
a
=
'18446744073709551615'
;
delete
from
t1
where
a
=
18446744073709551615
;
delete
from
t1
where
a
=
18446744073709551615
;
select
*
from
t1
;
select
*
from
t1
;
drop
table
t1
;
drop
table
t1
;
mysys/Makefile.am
View file @
d825808a
...
@@ -49,7 +49,7 @@ libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c\
...
@@ -49,7 +49,7 @@ libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c\
my_quick.c my_lockmem.c my_static.c
\
my_quick.c my_lockmem.c my_static.c
\
getopt.c getopt1.c getvar.c my_mkdir.c
\
getopt.c getopt1.c getvar.c my_mkdir.c
\
default.c my_compress.c checksum.c raid.cc raid2.c
\
default.c my_compress.c checksum.c raid.cc raid2.c
\
my_net.c
\
my_net.c
my_port.c
\
my_vsnprintf.c charset.c my_bitmap.c my_gethostbyname.c
my_vsnprintf.c charset.c my_bitmap.c my_gethostbyname.c
EXTRA_DIST
=
thr_alarm.c thr_lock.c my_pthread.c my_thr_init.c
\
EXTRA_DIST
=
thr_alarm.c thr_lock.c my_pthread.c my_thr_init.c
\
thr_mutex.c thr_rwlock.c
thr_mutex.c thr_rwlock.c
...
...
mysys/my_gethostbyname.c
View file @
d825808a
...
@@ -18,7 +18,6 @@
...
@@ -18,7 +18,6 @@
/* Thread safe version of gethostbyname_r() */
/* Thread safe version of gethostbyname_r() */
#include "mysys_priv.h"
#include "mysys_priv.h"
#include "my_pthread.h"
#include <assert.h>
#include <assert.h>
#if !defined(MSDOS) && !defined(__WIN__)
#if !defined(MSDOS) && !defined(__WIN__)
#include <netdb.h>
#include <netdb.h>
...
@@ -28,11 +27,6 @@
...
@@ -28,11 +27,6 @@
/* This file is not needed if my_gethostbyname_r is a macro */
/* This file is not needed if my_gethostbyname_r is a macro */
#if !defined(my_gethostbyname_r)
#if !defined(my_gethostbyname_r)
#ifndef THREAD
#define pthread_mutex_lock(A)
#define pthread_mutex_unlock(A)
#endif
/*
/*
Emulate SOLARIS style calls, not because it's better, but just to make the
Emulate SOLARIS style calls, not because it's better, but just to make the
usage of getbostbyname_r simpler.
usage of getbostbyname_r simpler.
...
...
mysys/my_init.c
View file @
d825808a
...
@@ -21,9 +21,6 @@
...
@@ -21,9 +21,6 @@
#include "m_ctype.h"
#include "m_ctype.h"
#include <m_string.h>
#include <m_string.h>
#include <m_ctype.h>
#include <m_ctype.h>
#ifdef THREAD
#include <my_pthread.h>
#endif
#ifdef HAVE_GETRUSAGE
#ifdef HAVE_GETRUSAGE
#include <sys/resource.h>
#include <sys/resource.h>
/* extern int getrusage(int, struct rusage *); */
/* extern int getrusage(int, struct rusage *); */
...
...
mysys/my_net.c
View file @
d825808a
...
@@ -34,11 +34,6 @@
...
@@ -34,11 +34,6 @@
#endif
#endif
#endif
/* !defined(MSDOS) && !defined(__WIN__) */
#endif
/* !defined(MSDOS) && !defined(__WIN__) */
#ifndef THREAD
#define pthread_mutex_lock(A)
#define pthread_mutex_unlock(A)
#endif
void
my_inet_ntoa
(
struct
in_addr
in
,
char
*
buf
)
void
my_inet_ntoa
(
struct
in_addr
in
,
char
*
buf
)
{
{
char
*
ptr
;
char
*
ptr
;
...
...
mysys/my_os2cond.c
View file @
d825808a
mysys/my_os2dirsrch.c
View file @
d825808a
mysys/my_os2dirsrch.h
View file @
d825808a
mysys/my_os2dlfcn.c
View file @
d825808a
mysys/my_os2file64.c
View file @
d825808a
mysys/my_os2mutex.c
View file @
d825808a
mysys/my_os2thread.c
View file @
d825808a
mysys/my_os2tls.c
View file @
d825808a
mysys/my_port.c
0 → 100644
View file @
d825808a
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA */
/*
Small functions to make code portable
*/
#include "mysys_priv.h"
#ifdef _AIX
/*
On AIX, at least with gcc 3.1, the expression
'(double) (ulonglong) var' doesn't always work for big unsigned
integers like '18446744073709551615'. The end result is that the
high bit is simply dropped. (probably bug in gcc optimizations)
Handling the conversion in a sub function seems to work.
*/
double
my_longlong2double
(
unsigned
long
long
nr
)
{
return
(
double
)
nr
;
}
#endif
/* _AIX */
mysys/mysys_priv.h
View file @
d825808a
...
@@ -23,10 +23,10 @@
...
@@ -23,10 +23,10 @@
#endif
#endif
#ifdef THREAD
#ifdef THREAD
#include <my_pthread.h>
extern
pthread_mutex_t
THR_LOCK_malloc
,
THR_LOCK_open
,
THR_LOCK_keycache
,
extern
pthread_mutex_t
THR_LOCK_malloc
,
THR_LOCK_open
,
THR_LOCK_keycache
,
THR_LOCK_lock
,
THR_LOCK_isam
,
THR_LOCK_net
,
THR_LOCK_charset
;
THR_LOCK_lock
,
THR_LOCK_isam
,
THR_LOCK_net
,
THR_LOCK_charset
;
extern
pthread_mutex_t
LOCK_bitmap
;
extern
pthread_mutex_t
LOCK_bitmap
;
#else
/* THREAD */
#else
#define pthread_mutex_lock(A)
#include <my_no_pthread.h>
#define pthread_mutex_unlock(A)
#endif
#endif
mysys/thr_rwlock.c
View file @
d825808a
...
@@ -18,7 +18,6 @@
...
@@ -18,7 +18,6 @@
/* Synchronization - readers / writer thread locks */
/* Synchronization - readers / writer thread locks */
#include "mysys_priv.h"
#include "mysys_priv.h"
#include <my_pthread.h>
#if defined(THREAD) && !defined(HAVE_PTHREAD_RWLOCK_RDLOCK) && !defined(HAVE_RWLOCK_INIT)
#if defined(THREAD) && !defined(HAVE_PTHREAD_RWLOCK_RDLOCK) && !defined(HAVE_RWLOCK_INIT)
/*
/*
...
...
sql/ha_innobase.cc
View file @
d825808a
...
@@ -264,33 +264,44 @@ innobase_mysql_print_thd(
...
@@ -264,33 +264,44 @@ innobase_mysql_print_thd(
void
*
input_thd
)
/* in: pointer to a MySQL THD object */
void
*
input_thd
)
/* in: pointer to a MySQL THD object */
{
{
THD
*
thd
;
THD
*
thd
;
char
*
old_buf
=
buf
;
thd
=
(
THD
*
)
input_thd
;
thd
=
(
THD
*
)
input_thd
;
buf
+=
ut_sprintf
(
buf
,
"MySQL thread id %lu, query id %lu"
,
/* We can't use value of sprintf() as this is not portable */
thd
->
thread_id
,
thd
->
query_id
);
buf
+=
my_sprintf
(
buf
,
if
(
thd
->
host
)
{
(
buf
,
"MySQL thread id %lu"
,
buf
+=
ut_sprintf
(
buf
,
" %.30s"
,
thd
->
host
);
thd
->
thread_id
));
if
(
thd
->
host
)
{
*
buf
++=
' '
;
buf
=
strnmov
(
buf
,
thd
->
host
,
30
);
}
}
if
(
thd
->
ip
)
{
if
(
thd
->
ip
)
buf
+=
ut_sprintf
(
buf
,
" %.20s"
,
thd
->
ip
);
{
*
buf
++=
' '
;
buf
=
strnmov
(
buf
,
thd
->
ip
,
20
);
}
}
if
(
thd
->
user
)
{
if
(
thd
->
user
)
buf
+=
ut_sprintf
(
buf
,
" %.20s"
,
thd
->
user
);
{
*
buf
++=
' '
;
buf
=
strnmov
(
buf
,
thd
->
user
,
20
);
}
}
if
(
thd
->
proc_info
)
{
if
(
thd
->
proc_info
)
buf
+=
ut_sprintf
(
buf
,
" %.50s"
,
thd
->
proc_info
);
{
*
buf
++=
' '
;
buf
=
strnmov
(
buf
,
thd
->
proc_info
,
50
);
}
}
if
(
thd
->
query
)
{
if
(
thd
->
query
)
buf
+=
ut_sprintf
(
buf
,
"
\n
%.150s"
,
thd
->
query
);
{
*
buf
++=
'\n'
;
buf
=
strnmov
(
buf
,
thd
->
query
,
150
);
}
}
buf
[
0
]
=
'\n'
;
buf
+=
ut_sprintf
(
buf
,
"
\n
"
)
;
buf
[
1
]
=
0
;
ut_a
(
strlen
(
old_buf
)
<
400
);
ut_a
(
strlen
(
old_buf
)
<
400
);
}
}
...
...
sql/item_cmpfunc.cc
View file @
d825808a
...
@@ -494,12 +494,7 @@ Item_func_if::fix_length_and_dec()
...
@@ -494,12 +494,7 @@ Item_func_if::fix_length_and_dec()
decimals
=
max
(
args
[
1
]
->
decimals
,
args
[
2
]
->
decimals
);
decimals
=
max
(
args
[
1
]
->
decimals
,
args
[
2
]
->
decimals
);
enum
Item_result
arg1_type
=
args
[
1
]
->
result_type
();
enum
Item_result
arg1_type
=
args
[
1
]
->
result_type
();
enum
Item_result
arg2_type
=
args
[
2
]
->
result_type
();
enum
Item_result
arg2_type
=
args
[
2
]
->
result_type
();
bool
null1
=
args
[
1
]
->
null_value
;
bool
null2
=
args
[
2
]
->
null_value
;
if
(
null1
&&
!
null2
)
arg1_type
=
arg2_type
;
else
if
(
!
null1
&&
null2
)
arg2_type
=
arg1_type
;
binary
=
1
;
binary
=
1
;
if
(
arg1_type
==
STRING_RESULT
||
arg2_type
==
STRING_RESULT
)
if
(
arg1_type
==
STRING_RESULT
||
arg2_type
==
STRING_RESULT
)
{
{
...
...
sql/mysqld.cc
View file @
d825808a
...
@@ -43,6 +43,8 @@
...
@@ -43,6 +43,8 @@
#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ)
#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ)
#define HAVE_CLOSE_SERVER_SOCK 1
#define HAVE_CLOSE_SERVER_SOCK 1
void
close_server_sock
();
void
close_server_sock
();
#else
#define close_server_sock()
#endif
#endif
extern
"C"
{
// Because of SCO 3.2V4.2
extern
"C"
{
// Because of SCO 3.2V4.2
...
@@ -465,9 +467,7 @@ static void close_connections(void)
...
@@ -465,9 +467,7 @@ static void close_connections(void)
if
(
error
!=
0
&&
!
count
++
)
if
(
error
!=
0
&&
!
count
++
)
sql_print_error
(
"Got error %d from pthread_cond_timedwait"
,
error
);
sql_print_error
(
"Got error %d from pthread_cond_timedwait"
,
error
);
#endif
#endif
#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ)
close_server_sock
();
close_server_sock
();
#endif
}
}
(
void
)
pthread_mutex_unlock
(
&
LOCK_thread_count
);
(
void
)
pthread_mutex_unlock
(
&
LOCK_thread_count
);
#endif
/* __WIN__ */
#endif
/* __WIN__ */
...
@@ -598,18 +598,26 @@ if (hPipe != INVALID_HANDLE_VALUE && opt_enable_named_pipe)
...
@@ -598,18 +598,26 @@ if (hPipe != INVALID_HANDLE_VALUE && opt_enable_named_pipe)
void
close_server_sock
()
void
close_server_sock
()
{
{
DBUG_ENTER
(
"close_server_sock"
);
DBUG_ENTER
(
"close_server_sock"
);
if
(
ip_sock
!=
INVALID_SOCKET
)
if
(
ip_sock
!=
INVALID_SOCKET
)
{
{
DBUG_PRINT
(
"info"
,(
"c
losing
TCP/IP socket"
));
DBUG_PRINT
(
"info"
,(
"c
alling shutdown on
TCP/IP socket"
));
VOID
(
shutdown
(
ip_sock
,
2
));
VOID
(
shutdown
(
ip_sock
,
2
));
#ifdef NOT_USED
/*
The following code is disabled as it cases MySQL to hang on
AIX 4.3 during shutdown
*/
DBUG_PRINT
(
"info"
,(
"calling closesocket on TCP/IP socket"
));
VOID
(
closesocket
(
ip_sock
));
VOID
(
closesocket
(
ip_sock
));
#endif
ip_sock
=
INVALID_SOCKET
;
ip_sock
=
INVALID_SOCKET
;
}
}
if
(
unix_sock
!=
INVALID_SOCKET
)
if
(
unix_sock
!=
INVALID_SOCKET
)
{
{
DBUG_PRINT
(
"info"
,(
"c
losing U
nix socket"
));
DBUG_PRINT
(
"info"
,(
"c
alling shutdown on u
nix socket"
));
VOID
(
shutdown
(
unix_sock
,
2
));
VOID
(
shutdown
(
unix_sock
,
2
));
VOID
(
closesocket
(
unix_sock
));
DBUG_PRINT
(
"info"
,(
"calling closesocket on unix socket"
));
VOID
(
unlink
(
mysql_unix_port
));
VOID
(
unlink
(
mysql_unix_port
));
unix_sock
=
INVALID_SOCKET
;
unix_sock
=
INVALID_SOCKET
;
}
}
...
@@ -621,7 +629,8 @@ void kill_mysql(void)
...
@@ -621,7 +629,8 @@ void kill_mysql(void)
{
{
DBUG_ENTER
(
"kill_mysql"
);
DBUG_ENTER
(
"kill_mysql"
);
#ifdef SIGNALS_DONT_BREAK_READ
#ifdef SIGNALS_DONT_BREAK_READ
close_server_sock
();
/* force accept to wake up */
abort_loop
=
1
;
// Break connection loops
close_server_sock
();
// Force accept to wake up
#endif
#endif
#if defined(__WIN__)
#if defined(__WIN__)
{
{
...
@@ -647,10 +656,9 @@ void kill_mysql(void)
...
@@ -647,10 +656,9 @@ void kill_mysql(void)
DBUG_PRINT
(
"quit"
,(
"After pthread_kill"
));
DBUG_PRINT
(
"quit"
,(
"After pthread_kill"
));
shutdown_in_progress
=
1
;
// Safety if kill didn't work
shutdown_in_progress
=
1
;
// Safety if kill didn't work
#ifdef SIGNALS_DONT_BREAK_READ
#ifdef SIGNALS_DONT_BREAK_READ
if
(
!
abort_loop
)
if
(
!
kill_in_progress
)
{
{
pthread_t
tmp
;
pthread_t
tmp
;
abort_loop
=
1
;
if
(
pthread_create
(
&
tmp
,
&
connection_attrib
,
kill_server_thread
,
if
(
pthread_create
(
&
tmp
,
&
connection_attrib
,
kill_server_thread
,
(
void
*
)
0
))
(
void
*
)
0
))
sql_print_error
(
"Error: Can't create thread to kill server"
);
sql_print_error
(
"Error: Can't create thread to kill server"
);
...
@@ -1220,7 +1228,7 @@ static void sig_reload(int signo)
...
@@ -1220,7 +1228,7 @@ static void sig_reload(int signo)
static
void
sig_kill
(
int
signo
)
static
void
sig_kill
(
int
signo
)
{
{
if
(
!
abort_loop
)
if
(
!
kill_in_progress
)
{
{
abort_loop
=
1
;
// mark abort for threads
abort_loop
=
1
;
// mark abort for threads
kill_server
((
void
*
)
signo
);
kill_server
((
void
*
)
signo
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment