fix indentation
add space after comma add space after equal add comments in vio_close_shared_memory()
This commit is contained in:
parent
a3e73fc673
commit
4788b15201
@ -3853,31 +3853,31 @@ pthread_handler_decl(handle_connections_shared_memory,arg)
|
|||||||
goto errorconn;
|
goto errorconn;
|
||||||
}
|
}
|
||||||
strmov(suffix_pos, "CLIENT_WROTE");
|
strmov(suffix_pos, "CLIENT_WROTE");
|
||||||
if ((event_client_wrote= CreateEvent(0,FALSE,FALSE,tmp)) == 0)
|
if ((event_client_wrote= CreateEvent(0, FALSE, FALSE, tmp)) == 0)
|
||||||
{
|
{
|
||||||
errmsg= "Could not create client write event";
|
errmsg= "Could not create client write event";
|
||||||
goto errorconn;
|
goto errorconn;
|
||||||
}
|
}
|
||||||
strmov(suffix_pos, "CLIENT_READ");
|
strmov(suffix_pos, "CLIENT_READ");
|
||||||
if ((event_client_read= CreateEvent(0,FALSE,FALSE,tmp)) == 0)
|
if ((event_client_read= CreateEvent(0, FALSE, FALSE, tmp)) == 0)
|
||||||
{
|
{
|
||||||
errmsg= "Could not create client read event";
|
errmsg= "Could not create client read event";
|
||||||
goto errorconn;
|
goto errorconn;
|
||||||
}
|
}
|
||||||
strmov(suffix_pos, "SERVER_READ");
|
strmov(suffix_pos, "SERVER_READ");
|
||||||
if ((event_server_read= CreateEvent(0,FALSE,FALSE,tmp)) == 0)
|
if ((event_server_read= CreateEvent(0, FALSE, FALSE, tmp)) == 0)
|
||||||
{
|
{
|
||||||
errmsg= "Could not create server read event";
|
errmsg= "Could not create server read event";
|
||||||
goto errorconn;
|
goto errorconn;
|
||||||
}
|
}
|
||||||
strmov(suffix_pos, "SERVER_WROTE");
|
strmov(suffix_pos, "SERVER_WROTE");
|
||||||
if ((event_server_wrote= CreateEvent(0,FALSE,FALSE,tmp)) == 0)
|
if ((event_server_wrote= CreateEvent(0, FALSE, FALSE, tmp)) == 0)
|
||||||
{
|
{
|
||||||
errmsg= "Could not create server write event";
|
errmsg= "Could not create server write event";
|
||||||
goto errorconn;
|
goto errorconn;
|
||||||
}
|
}
|
||||||
strmov(suffix_pos, "CONNECTION_CLOSED");
|
strmov(suffix_pos, "CONNECTION_CLOSED");
|
||||||
if ((event_conn_closed= CreateEvent(0,TRUE,FALSE,tmp)) == 0)
|
if ((event_conn_closed= CreateEvent(0, TRUE , FALSE, tmp)) == 0)
|
||||||
{
|
{
|
||||||
errmsg= "Could not create closed connection event";
|
errmsg= "Could not create closed connection event";
|
||||||
goto errorconn;
|
goto errorconn;
|
||||||
@ -3927,13 +3927,20 @@ errorconn:
|
|||||||
NullS);
|
NullS);
|
||||||
sql_perror(buff);
|
sql_perror(buff);
|
||||||
}
|
}
|
||||||
if (handle_client_file_map) CloseHandle(handle_client_file_map);
|
if (handle_client_file_map)
|
||||||
if (handle_client_map) UnmapViewOfFile(handle_client_map);
|
CloseHandle(handle_client_file_map);
|
||||||
if (event_server_wrote) CloseHandle(event_server_wrote);
|
if (handle_client_map)
|
||||||
if (event_server_read) CloseHandle(event_server_read);
|
UnmapViewOfFile(handle_client_map);
|
||||||
if (event_client_wrote) CloseHandle(event_client_wrote);
|
if (event_server_wrote)
|
||||||
if (event_client_read) CloseHandle(event_client_read);
|
CloseHandle(event_server_wrote);
|
||||||
if (event_conn_closed) CloseHandle(event_conn_closed);
|
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;
|
delete thd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
20
vio/vio.c
20
vio/vio.c
@ -179,16 +179,16 @@ Vio *vio_new_win32shared_memory(NET *net,HANDLE handle_file_map, HANDLE handle_m
|
|||||||
if ((vio = (Vio*) my_malloc(sizeof(Vio),MYF(MY_WME))))
|
if ((vio = (Vio*) my_malloc(sizeof(Vio),MYF(MY_WME))))
|
||||||
{
|
{
|
||||||
vio_reset(vio, VIO_TYPE_SHARED_MEMORY, 0, 0, TRUE);
|
vio_reset(vio, VIO_TYPE_SHARED_MEMORY, 0, 0, TRUE);
|
||||||
vio->handle_file_map = handle_file_map;
|
vio->handle_file_map= handle_file_map;
|
||||||
vio->handle_map = handle_map;
|
vio->handle_map= handle_map;
|
||||||
vio->event_server_wrote = event_server_wrote;
|
vio->event_server_wrote= event_server_wrote;
|
||||||
vio->event_server_read = event_server_read;
|
vio->event_server_read= event_server_read;
|
||||||
vio->event_client_wrote = event_client_wrote;
|
vio->event_client_wrote= event_client_wrote;
|
||||||
vio->event_client_read = event_client_read;
|
vio->event_client_read= event_client_read;
|
||||||
vio->event_conn_closed = event_conn_closed;
|
vio->event_conn_closed= event_conn_closed;
|
||||||
vio->shared_memory_remain = 0;
|
vio->shared_memory_remain= 0;
|
||||||
vio->shared_memory_pos = handle_map;
|
vio->shared_memory_pos= handle_map;
|
||||||
vio->net = net;
|
vio->net= net;
|
||||||
strmov(vio->desc, "shared memory");
|
strmov(vio->desc, "shared memory");
|
||||||
}
|
}
|
||||||
DBUG_RETURN(vio);
|
DBUG_RETURN(vio);
|
||||||
|
@ -390,7 +390,7 @@ int vio_read_shared_memory(Vio * vio, gptr buf, int size)
|
|||||||
WAIT_OBJECT_0+1 - event from vio->event_conn_closed. We can't read anything
|
WAIT_OBJECT_0+1 - event from vio->event_conn_closed. We can't read anything
|
||||||
WAIT_ABANDONED_0 and WAIT_TIMEOUT - fail. We can't read anything
|
WAIT_ABANDONED_0 and WAIT_TIMEOUT - fail. We can't read anything
|
||||||
*/
|
*/
|
||||||
if (WaitForMultipleObjects(2,(HANDLE*)&events,FALSE,
|
if (WaitForMultipleObjects(2, (HANDLE*)&events,FALSE,
|
||||||
vio->net->read_timeout*1000) != WAIT_OBJECT_0)
|
vio->net->read_timeout*1000) != WAIT_OBJECT_0)
|
||||||
{
|
{
|
||||||
DBUG_RETURN(-1);
|
DBUG_RETURN(-1);
|
||||||
@ -440,7 +440,8 @@ int vio_write_shared_memory(Vio * vio, const gptr buf, int size)
|
|||||||
current_postion = buf;
|
current_postion = buf;
|
||||||
while (remain != 0)
|
while (remain != 0)
|
||||||
{
|
{
|
||||||
if (WaitForSingleObject(vio->event_server_read,vio->net->write_timeout*1000) != WAIT_OBJECT_0)
|
if (WaitForSingleObject(vio->event_server_read, vio->net->write_timeout*1000)
|
||||||
|
!= WAIT_OBJECT_0)
|
||||||
{
|
{
|
||||||
DBUG_RETURN(-1);
|
DBUG_RETURN(-1);
|
||||||
};
|
};
|
||||||
@ -467,8 +468,16 @@ int vio_close_shared_memory(Vio * vio)
|
|||||||
DBUG_ENTER("vio_close_shared_memory");
|
DBUG_ENTER("vio_close_shared_memory");
|
||||||
if (vio->type != VIO_CLOSED)
|
if (vio->type != VIO_CLOSED)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
Set event_conn_closed for notification of both client and server that
|
||||||
|
connection is closed
|
||||||
|
*/
|
||||||
SetEvent(vio->event_conn_closed);
|
SetEvent(vio->event_conn_closed);
|
||||||
r=UnmapViewOfFile(vio->handle_map) || CloseHandle(vio->event_server_wrote) ||
|
/*
|
||||||
|
Close all handlers. UnmapViewOfFile and CloseHandle return non-zero
|
||||||
|
result if they are success.
|
||||||
|
*/
|
||||||
|
r= UnmapViewOfFile(vio->handle_map) || CloseHandle(vio->event_server_wrote) ||
|
||||||
CloseHandle(vio->event_server_read) || CloseHandle(vio->event_client_wrote) ||
|
CloseHandle(vio->event_server_read) || CloseHandle(vio->event_client_wrote) ||
|
||||||
CloseHandle(vio->event_client_read) || CloseHandle(vio->handle_file_map);
|
CloseHandle(vio->event_client_read) || CloseHandle(vio->handle_file_map);
|
||||||
if (!r)
|
if (!r)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user