summaryrefslogtreecommitdiff
path: root/sql-common
diff options
context:
space:
mode:
authorunknown <wax@mysql.com>2004-12-23 14:44:21 +0500
committerunknown <wax@mysql.com>2004-12-23 14:44:21 +0500
commit4e4b3db4df91cf62d1488d0d370687d69f28fee8 (patch)
tree78717d3b2092219426f050aac2033a79f44148be /sql-common
parent7901cd306a6dcbb0863411ce68709f450e69d5aa (diff)
parent79a0ed6232233f6c85c83fbee4e27e594a7149db (diff)
downloadmariadb-git-4e4b3db4df91cf62d1488d0d370687d69f28fee8.tar.gz
Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1smemory sql/mysqld.cc: Auto merged
Diffstat (limited to 'sql-common')
-rw-r--r--sql-common/client.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index b847c467b85..0714ca4291f 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -396,6 +396,7 @@ HANDLE create_shared_memory(MYSQL *mysql,NET *net, uint connect_timeout)
HANDLE event_server_read = NULL;
HANDLE event_client_wrote = NULL;
HANDLE event_client_read = NULL;
+ HANDLE event_conn_closed = NULL;
HANDLE handle_file_map = NULL;
ulong connect_number;
char connect_number_char[22], *p;
@@ -508,6 +509,13 @@ HANDLE create_shared_memory(MYSQL *mysql,NET *net, uint connect_timeout)
error_allow = CR_SHARED_MEMORY_EVENT_ERROR;
goto err2;
}
+
+ strmov(suffix_pos, "CONNECTION_CLOSED");
+ if ((event_conn_closed = OpenEvent(EVENT_ALL_ACCESS,FALSE,tmp)) == NULL)
+ {
+ error_allow = CR_SHARED_MEMORY_EVENT_ERROR;
+ goto err2;
+ }
/*
Set event that server should send data
*/
@@ -519,7 +527,7 @@ err2:
net->vio= vio_new_win32shared_memory(net,handle_file_map,handle_map,
event_server_wrote,
event_server_read,event_client_wrote,
- event_client_read);
+ event_client_read,event_conn_closed);
}
else
{
@@ -532,6 +540,8 @@ err2:
CloseHandle(event_client_read);
if (event_client_wrote)
CloseHandle(event_client_wrote);
+ if (event_conn_closed)
+ CloseHandle(event_conn_closed);
if (handle_map)
UnmapViewOfFile(handle_map);
if (handle_file_map)