diff options
author | Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com> | 2012-02-19 09:00:52 +0000 |
---|---|---|
committer | Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com> | 2012-02-19 09:00:52 +0000 |
commit | 7d059dcbcd5366c27ed8f1f8ee8840b5942a3546 (patch) | |
tree | 0025bc00c07e133e19f181fe8986af401208fcc5 /include/violite.h | |
parent | 5dbdb4db99464f8b2d93d89048b904ea65ad8630 (diff) | |
parent | a775a1844e89d7400375400caf3ca1c0e7f865ed (diff) | |
download | mariadb-git-7d059dcbcd5366c27ed8f1f8ee8840b5942a3546.tar.gz |
BUG#13431369 - MAIN.VARIABLES-NOTEMBEDDED CRASHES THE SERVER SPORADICALLY ON WINDOWS
On shutdown(), Windows can drop traffic still queued for sending even if that
wasn't specifically requested. As a result, fatal errors (those after
signaling which the server will drop the connection) were sometimes only
seen as "connection lost" on the client side, because the server-side
shutdown() erraneously discarded the correct error message before sending
it.
If on Windows, we now use the Windows API to access the (non-broken) equivalent
of shutdown().
Backport from trunk
Diffstat (limited to 'include/violite.h')
-rw-r--r-- | include/violite.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/violite.h b/include/violite.h index ba057028ed2..093814da1c0 100644 --- a/include/violite.h +++ b/include/violite.h @@ -59,6 +59,9 @@ Vio* vio_new_win32shared_memory(HANDLE handle_file_map, #define HANDLE void * #endif /* __WIN__ */ +/* backport from 5.6 where it is part of PSI, not vio_*() */ +int mysql_socket_shutdown(my_socket mysql_socket, int how); + void vio_delete(Vio* vio); int vio_close(Vio* vio); void vio_reset(Vio* vio, enum enum_vio_type type, |