diff options
author | serg@sergbook.mysql.com <> | 2004-12-31 15:26:24 +0100 |
---|---|---|
committer | serg@sergbook.mysql.com <> | 2004-12-31 15:26:24 +0100 |
commit | a04fc26c5429284ddae3b5aa19220b057d84b302 (patch) | |
tree | 928b06c231edee4cb95ace87ed30e879e3dcb0fb /sql-common/client.c | |
parent | 849d1203ffb0a68ccec2e9e6e1baba00b2fbe536 (diff) | |
parent | 45ce994e5dc31c6eb802c3b8eb8955c320a4c111 (diff) | |
download | mariadb-git-a04fc26c5429284ddae3b5aa19220b057d84b302.tar.gz |
manually merged
Diffstat (limited to 'sql-common/client.c')
-rw-r--r-- | sql-common/client.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sql-common/client.c b/sql-common/client.c index a014e398d8b..0ff98102da9 100644 --- a/sql-common/client.c +++ b/sql-common/client.c @@ -393,6 +393,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; @@ -505,6 +506,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 */ @@ -514,9 +522,9 @@ err2: if (error_allow == 0) { net->vio= vio_new_win32shared_memory(net,handle_file_map,handle_map, - event_server_wrote, + event_server_wrote, event_server_read,event_client_wrote, - event_client_read); + event_client_read,event_conn_closed); } else { @@ -529,6 +537,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) |