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
398c935d
Commit
398c935d
authored
Jan 24, 2012
by
Vladislav Vaintroub
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
further reduce diffs to 5.5, monty review
parent
d50649ec
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
31 additions
and
24 deletions
+31
-24
include/thr_alarm.h
include/thr_alarm.h
+0
-1
include/violite.h
include/violite.h
+12
-1
mysql-test/include/mysqld--help.inc
mysql-test/include/mysqld--help.inc
+1
-1
mysql-test/r/kill.result
mysql-test/r/kill.result
+3
-0
mysql-test/r/mysqld--help-win.result
mysql-test/r/mysqld--help-win.result
+2
-2
mysql-test/t/flush_read_lock_kill.test
mysql-test/t/flush_read_lock_kill.test
+1
-1
mysql-test/t/kill.test
mysql-test/t/kill.test
+2
-3
sql/sql_class.cc
sql/sql_class.cc
+1
-5
sql/sql_class.h
sql/sql_class.h
+1
-4
vio/vio.c
vio/vio.c
+1
-1
vio/vio_priv.h
vio/vio_priv.h
+1
-0
vio/viosocket.c
vio/viosocket.c
+6
-5
No files found.
include/thr_alarm.h
View file @
398c935d
...
@@ -93,7 +93,6 @@ typedef struct st_alarm {
...
@@ -93,7 +93,6 @@ typedef struct st_alarm {
extern
uint
thr_client_alarm
;
extern
uint
thr_client_alarm
;
extern
pthread_t
alarm_thread
;
extern
pthread_t
alarm_thread
;
#define thr_alarm_init(A) (*(A))=0
#define thr_alarm_init(A) (*(A))=0
#define thr_alarm_in_use(A) (*(A)!= 0)
#define thr_alarm_in_use(A) (*(A)!= 0)
void
init_thr_alarm
(
uint
max_alarm
);
void
init_thr_alarm
(
uint
max_alarm
);
...
...
include/violite.h
View file @
398c935d
...
@@ -175,6 +175,17 @@ void vio_end(void);
...
@@ -175,6 +175,17 @@ void vio_end(void);
#define vio_is_connected(vio) (vio)->is_connected(vio)
#define vio_is_connected(vio) (vio)->is_connected(vio)
#endif
/* !defined(DONT_MAP_VIO) */
#endif
/* !defined(DONT_MAP_VIO) */
#ifdef _WIN32
/*
Set thread id for io cancellation (required on Windows XP only,
and should to be removed if XP is no more supported)
*/
#define vio_set_thread_id(vio, tid) if(vio) vio->thread_id= tid
#else
#define vio_set_thread_id(vio, tid)
#endif
/* This enumerator is used in parser - should be always visible */
/* This enumerator is used in parser - should be always visible */
enum
SSL_type
enum
SSL_type
{
{
...
@@ -237,7 +248,7 @@ struct st_vio
...
@@ -237,7 +248,7 @@ struct st_vio
char
*
shared_memory_pos
;
char
*
shared_memory_pos
;
#endif
/* HAVE_SMEM */
#endif
/* HAVE_SMEM */
#ifdef _WIN32
#ifdef _WIN32
DWORD
thread_id
;
/* Used
to XP only in vio_shutdown
*/
DWORD
thread_id
;
/* Used
on XP only by vio_shutdown()
*/
OVERLAPPED
pipe_overlapped
;
OVERLAPPED
pipe_overlapped
;
DWORD
read_timeout_ms
;
DWORD
read_timeout_ms
;
DWORD
write_timeout_ms
;
DWORD
write_timeout_ms
;
...
...
mysql-test/include/mysqld--help.inc
View file @
398c935d
...
@@ -18,7 +18,7 @@ perl;
...
@@ -18,7 +18,7 @@ perl;
# their paths may vary:
# their paths may vary:
@
skipvars
=
qw
/
basedir
open
-
files
-
limit
general
-
log
-
file
log
plugin
-
dir
@
skipvars
=
qw
/
basedir
open
-
files
-
limit
general
-
log
-
file
log
plugin
-
dir
log
-
slow
-
queries
pid
-
file
slow
-
query
-
log
-
file
log
-
basename
log
-
slow
-
queries
pid
-
file
slow
-
query
-
log
-
file
log
-
basename
datadir
slave
-
load
-
tmpdir
tmpdir
socket
/
;
datadir
slave
-
load
-
tmpdir
tmpdir
socket
/
;
# Plugins which may or may not be there:
# Plugins which may or may not be there:
@
plugins
=
qw
/
innodb
ndb
archive
blackhole
federated
partition
ndbcluster
feedback
debug
temp
-
pool
ssl
des
-
key
-
file
@
plugins
=
qw
/
innodb
ndb
archive
blackhole
federated
partition
ndbcluster
feedback
debug
temp
-
pool
ssl
des
-
key
-
file
...
...
mysql-test/r/kill.result
View file @
398c935d
...
@@ -60,6 +60,9 @@ SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
...
@@ -60,6 +60,9 @@ SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
KILL @id;
KILL @id;
SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
Got one of the listed errors
Got one of the listed errors
SELECT 1;
1
1
SET DEBUG_SYNC = 'RESET';
SET DEBUG_SYNC = 'RESET';
DROP TABLE t1, t2;
DROP TABLE t1, t2;
SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync WAIT_FOR kill';
SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync WAIT_FOR kill';
...
...
mysql-test/r/mysqld--help-win.result
View file @
398c935d
...
@@ -941,7 +941,7 @@ lower-case-table-names 1
...
@@ -941,7 +941,7 @@ lower-case-table-names 1
master-info-file master.info
master-info-file master.info
master-retry-count 86400
master-retry-count 86400
master-verify-checksum FALSE
master-verify-checksum FALSE
max-allowed-packet
8388608
max-allowed-packet
1048576
max-binlog-cache-size 18446744073709547520
max-binlog-cache-size 18446744073709547520
max-binlog-size 1073741824
max-binlog-size 1073741824
max-binlog-stmt-cache-size 18446744073709547520
max-binlog-stmt-cache-size 18446744073709547520
...
@@ -952,7 +952,7 @@ max-error-count 64
...
@@ -952,7 +952,7 @@ max-error-count 64
max-heap-table-size 16777216
max-heap-table-size 16777216
max-join-size 18446744073709551615
max-join-size 18446744073709551615
max-length-for-sort-data 1024
max-length-for-sort-data 1024
max-long-data-size
8388608
max-long-data-size
1048576
max-prepared-stmt-count 16382
max-prepared-stmt-count 16382
max-relay-log-size 0
max-relay-log-size 0
max-seeks-for-key 18446744073709551615
max-seeks-for-key 18446744073709551615
...
...
mysql-test/t/flush_read_lock_kill.test
View file @
398c935d
...
@@ -65,7 +65,7 @@ KILL CONNECTION @id;
...
@@ -65,7 +65,7 @@ KILL CONNECTION @id;
connection
con1
;
connection
con1
;
--
echo
# Try to reap FLUSH TABLES WITH READ LOCK,
--
echo
# Try to reap FLUSH TABLES WITH READ LOCK,
--
echo
# it fail due to killed statement and connection.
--
echo
# it fail due to killed statement and connection.
--
error
1317
,
2013
,
1927
--
error
1317
,
2013
reap
;
reap
;
--
echo
# Switching to 'con2'.
--
echo
# Switching to 'con2'.
...
...
mysql-test/t/kill.test
View file @
398c935d
...
@@ -142,10 +142,9 @@ KILL @id;
...
@@ -142,10 +142,9 @@ KILL @id;
SET
DEBUG_SYNC
=
'now WAIT_FOR con1_end'
;
SET
DEBUG_SYNC
=
'now WAIT_FOR con1_end'
;
connection
con1
;
connection
con1
;
--
error
1317
,
1053
,
2006
,
2013
,
1927
--
error
1317
,
1053
,
2006
,
2013
reap
;
reap
;
--
error
0
,
2013
SELECT
1
;
let
$ignore
=
`SELECT 1`
;
connection
default
;
connection
default
;
SET
DEBUG_SYNC
=
'RESET'
;
SET
DEBUG_SYNC
=
'RESET'
;
...
...
sql/sql_class.cc
View file @
398c935d
...
@@ -1701,11 +1701,7 @@ bool THD::store_globals()
...
@@ -1701,11 +1701,7 @@ bool THD::store_globals()
real_id
=
pthread_self
();
// For debugging
real_id
=
pthread_self
();
// For debugging
mysys_var
->
stack_ends_here
=
thread_stack
+
// for consistency, see libevent_thread_proc
mysys_var
->
stack_ends_here
=
thread_stack
+
// for consistency, see libevent_thread_proc
STACK_DIRECTION
*
(
long
)
my_thread_stack_size
;
STACK_DIRECTION
*
(
long
)
my_thread_stack_size
;
vio_set_thread_id
(
net
.
vio
,
real_id
);
#ifdef _WIN32
if
(
net
.
vio
)
net
.
vio
->
thread_id
=
real_id
;
/* Required to support IO cancelation on XP */
#endif
/*
/*
We have to call thr_lock_info_init() again here as THD may have been
We have to call thr_lock_info_init() again here as THD may have been
created in another thread
created in another thread
...
...
sql/sql_class.h
View file @
398c935d
...
@@ -2341,10 +2341,7 @@ public:
...
@@ -2341,10 +2341,7 @@ public:
{
{
mysql_mutex_lock
(
&
LOCK_thd_data
);
mysql_mutex_lock
(
&
LOCK_thd_data
);
active_vio
=
vio
;
active_vio
=
vio
;
#ifdef _WIN32
vio_set_thread_id
(
vio
,
pthread_self
());
/* Required to support cancelation on XP */
active_vio
->
thread_id
=
pthread_self
();
#endif
mysql_mutex_unlock
(
&
LOCK_thd_data
);
mysql_mutex_unlock
(
&
LOCK_thd_data
);
}
}
inline
void
clear_active_vio
()
inline
void
clear_active_vio
()
...
...
vio/vio.c
View file @
398c935d
...
@@ -64,7 +64,7 @@ int vio_shared_memory_shutdown(Vio *vio, int how)
...
@@ -64,7 +64,7 @@ int vio_shared_memory_shutdown(Vio *vio, int how)
int
vio_pipe_shutdown
(
Vio
*
vio
,
int
how
)
int
vio_pipe_shutdown
(
Vio
*
vio
,
int
how
)
{
{
return
vio_socket_shutdown
(
vio
,
how
);
/* cancels io */
return
cancel_io
(
vio
->
hPipe
,
vio
->
thread_id
);
}
}
#endif
#endif
...
...
vio/vio_priv.h
View file @
398c935d
...
@@ -39,6 +39,7 @@ size_t vio_read_pipe(Vio *vio, uchar * buf, size_t size);
...
@@ -39,6 +39,7 @@ size_t vio_read_pipe(Vio *vio, uchar * buf, size_t size);
size_t
vio_write_pipe
(
Vio
*
vio
,
const
uchar
*
buf
,
size_t
size
);
size_t
vio_write_pipe
(
Vio
*
vio
,
const
uchar
*
buf
,
size_t
size
);
my_bool
vio_is_connected_pipe
(
Vio
*
vio
);
my_bool
vio_is_connected_pipe
(
Vio
*
vio
);
int
vio_close_pipe
(
Vio
*
vio
);
int
vio_close_pipe
(
Vio
*
vio
);
int
cancel_io
(
HANDLE
handle
,
DWORD
thread_id
);
int
vio_shutdown_pipe
(
Vio
*
vio
,
int
how
);
int
vio_shutdown_pipe
(
Vio
*
vio
,
int
how
);
#endif
#endif
...
...
vio/viosocket.c
View file @
398c935d
...
@@ -144,7 +144,7 @@ static void CALLBACK cancel_io_apc(ULONG_PTR data)
...
@@ -144,7 +144,7 @@ static void CALLBACK cancel_io_apc(ULONG_PTR data)
IO. On Vista+, simpler cancelation is done with CancelIoEx.
IO. On Vista+, simpler cancelation is done with CancelIoEx.
*/
*/
static
int
cancel_io
(
HANDLE
handle
,
DWORD
thread_id
)
int
cancel_io
(
HANDLE
handle
,
DWORD
thread_id
)
{
{
static
BOOL
(
WINAPI
*
fp_CancelIoEx
)
(
HANDLE
,
OVERLAPPED
*
);
static
BOOL
(
WINAPI
*
fp_CancelIoEx
)
(
HANDLE
,
OVERLAPPED
*
);
static
volatile
int
first_time
=
1
;
static
volatile
int
first_time
=
1
;
...
@@ -177,11 +177,12 @@ static int cancel_io(HANDLE handle, DWORD thread_id)
...
@@ -177,11 +177,12 @@ static int cancel_io(HANDLE handle, DWORD thread_id)
int
vio_socket_shutdown
(
Vio
*
vio
,
int
how
)
int
vio_socket_shutdown
(
Vio
*
vio
,
int
how
)
{
{
#ifdef _WIN32
int
ret
=
shutdown
(
vio
->
sd
,
how
);
return
cancel_io
((
HANDLE
)
vio
->
sd
,
vio
->
thread_id
);
#ifdef _WIN32
#else
/* Cancel possible IO in progress (shutdown does not do that on Windows). */
return
shutdown
(
vio
->
sd
,
how
);
(
void
)
cancel_io
((
HANDLE
)
vio
->
sd
,
vio
->
thread_id
);
#endif
#endif
return
ret
;
}
}
...
...
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