Commit 4788b152 authored by wax@kishkin.ru's avatar wax@kishkin.ru

fix indentation

add space after comma
add space after equal
add comments in vio_close_shared_memory()
parent a3e73fc6
...@@ -39,17 +39,17 @@ enum enum_vio_type ...@@ -39,17 +39,17 @@ enum enum_vio_type
Vio* vio_new(my_socket sd, enum enum_vio_type type, my_bool localhost); Vio* vio_new(my_socket sd, enum enum_vio_type type, my_bool localhost);
#ifdef __WIN__ #ifdef __WIN__
Vio* vio_new_win32pipe(HANDLE hPipe); Vio* vio_new_win32pipe(HANDLE hPipe);
Vio* vio_new_win32shared_memory(NET *net,HANDLE handle_file_map, Vio* vio_new_win32shared_memory(NET *net,HANDLE handle_file_map,
HANDLE handle_map, HANDLE handle_map,
HANDLE event_server_wrote, HANDLE event_server_wrote,
HANDLE event_server_read, HANDLE event_server_read,
HANDLE event_client_wrote, HANDLE event_client_wrote,
HANDLE event_client_read, HANDLE event_client_read,
HANDLE event_conn_closed); HANDLE event_conn_closed);
int vio_read_pipe(Vio *vio, gptr buf, int size); int vio_read_pipe(Vio *vio, gptr buf, int size);
int vio_write_pipe(Vio *vio, const gptr buf, int size); int vio_write_pipe(Vio *vio, const gptr buf, int size);
int vio_close_pipe(Vio * vio); int vio_close_pipe(Vio * vio);
#else #else
#define HANDLE void * #define HANDLE void *
#endif /* __WIN__ */ #endif /* __WIN__ */
......
...@@ -525,9 +525,9 @@ err2: ...@@ -525,9 +525,9 @@ err2:
if (error_allow == 0) if (error_allow == 0)
{ {
net->vio= vio_new_win32shared_memory(net,handle_file_map,handle_map, 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_server_read,event_client_wrote,
event_client_read,event_conn_closed); event_client_read,event_conn_closed);
} }
else else
{ {
......
...@@ -3853,31 +3853,31 @@ pthread_handler_decl(handle_connections_shared_memory,arg) ...@@ -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;
...@@ -3900,14 +3900,14 @@ pthread_handler_decl(handle_connections_shared_memory,arg) ...@@ -3900,14 +3900,14 @@ pthread_handler_decl(handle_connections_shared_memory,arg)
goto errorconn; goto errorconn;
} }
if (!(thd->net.vio= vio_new_win32shared_memory(&thd->net, if (!(thd->net.vio= vio_new_win32shared_memory(&thd->net,
handle_client_file_map, handle_client_file_map,
handle_client_map, handle_client_map,
event_client_wrote, event_client_wrote,
event_client_read, event_client_read,
event_server_wrote, event_server_wrote,
event_server_read, event_server_read,
event_conn_closed)) || event_conn_closed)) ||
my_net_init(&thd->net, thd->net.vio)) my_net_init(&thd->net, thd->net.vio))
{ {
close_connection(thd, ER_OUT_OF_RESOURCES, 1); close_connection(thd, ER_OUT_OF_RESOURCES, 1);
errmsg= 0; errmsg= 0;
...@@ -3927,13 +3927,20 @@ 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;
} }
......
...@@ -172,23 +172,23 @@ Vio *vio_new_win32pipe(HANDLE hPipe) ...@@ -172,23 +172,23 @@ Vio *vio_new_win32pipe(HANDLE hPipe)
Vio *vio_new_win32shared_memory(NET *net,HANDLE handle_file_map, HANDLE handle_map, Vio *vio_new_win32shared_memory(NET *net,HANDLE handle_file_map, HANDLE handle_map,
HANDLE event_server_wrote, HANDLE event_server_read, HANDLE event_server_wrote, HANDLE event_server_read,
HANDLE event_client_wrote, HANDLE event_client_read, HANDLE event_client_wrote, HANDLE event_client_read,
HANDLE event_conn_closed) HANDLE event_conn_closed)
{ {
Vio *vio; Vio *vio;
DBUG_ENTER("vio_new_win32shared_memory"); DBUG_ENTER("vio_new_win32shared_memory");
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) ...@@ -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) ...@@ -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,10 +468,18 @@ int vio_close_shared_memory(Vio * vio) ...@@ -467,10 +468,18 @@ 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) || /*
CloseHandle(vio->event_server_read) || CloseHandle(vio->event_client_wrote) || Close all handlers. UnmapViewOfFile and CloseHandle return non-zero
CloseHandle(vio->event_client_read) || CloseHandle(vio->handle_file_map); 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_client_read) || CloseHandle(vio->handle_file_map);
if (!r) if (!r)
{ {
DBUG_PRINT("vio_error", ("close() failed, error: %d",r)); DBUG_PRINT("vio_error", ("close() failed, error: %d",r));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment