1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00
(continue)
added event_conn_closed
replaced WaitForSingleObject on WaitForMultipleObjects
inserted a check in vio_close()
added SetEvent() for event_conn_closed
This commit is contained in:
wax@kishkin.ru
2004-12-14 19:24:19 +05:00
parent e81d48fdd9
commit 0c8a78cca1
5 changed files with 50 additions and 12 deletions

View File

@ -3813,6 +3813,7 @@ pthread_handler_decl(handle_connections_shared_memory,arg)
HANDLE event_client_read= 0; // for transfer data server <-> client
HANDLE event_server_wrote= 0;
HANDLE event_server_read= 0;
HANDLE event_conn_closed= 0;
THD *thd= 0;
p= int10_to_str(connect_number, connect_number_char, 10);
@ -3866,6 +3867,12 @@ pthread_handler_decl(handle_connections_shared_memory,arg)
errmsg= "Could not create server write event";
goto errorconn;
}
strmov(suffix_pos, "CONNECTION_CLOSED");
if ((event_conn_closed= CreateEvent(0,TRUE,FALSE,tmp)) == 0)
{
errmsg= "Could not create closed connection event";
goto errorconn;
}
if (abort_loop)
goto errorconn;
if (!(thd= new THD))
@ -3889,7 +3896,8 @@ pthread_handler_decl(handle_connections_shared_memory,arg)
event_client_wrote,
event_client_read,
event_server_wrote,
event_server_read)) ||
event_server_read,
event_conn_closed)) ||
my_net_init(&thd->net, thd->net.vio))
{
close_connection(thd, ER_OUT_OF_RESOURCES, 1);
@ -3916,6 +3924,7 @@ errorconn:
if (event_server_read) CloseHandle(event_server_read);
if (event_client_wrote) CloseHandle(event_client_wrote);
if (event_client_read) CloseHandle(event_client_read);
if (event_conn_closed) CloseHandle(event_conn_closed);
delete thd;
}