aboutsummaryrefslogtreecommitdiff
path: root/ares/ares__close_sockets.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-05-03 06:11:44 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-05-03 06:11:44 +0000
commitdd06c60ada039faafd937a136e3dc7ff9c41159a (patch)
tree5e5337faa1571a343b4c643da651ca817afc7802 /ares/ares__close_sockets.c
parent6ca627ae742816cfca67d7e2ad3b59c269e5651d (diff)
Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makes
c-ares call a callback on socket state changes. A better way than the ares_getsock() to get full control over the socket state.
Diffstat (limited to 'ares/ares__close_sockets.c')
-rw-r--r--ares/ares__close_sockets.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ares/ares__close_sockets.c b/ares/ares__close_sockets.c
index fb883f9a9..7475a4b44 100644
--- a/ares/ares__close_sockets.c
+++ b/ares/ares__close_sockets.c
@@ -23,7 +23,7 @@
#include "ares.h"
#include "ares_private.h"
-void ares__close_sockets(struct server_state *server)
+void ares__close_sockets(ares_channel channel, struct server_state *server)
{
struct send_request *sendreq;
@@ -46,11 +46,13 @@ void ares__close_sockets(struct server_state *server)
/* Close the TCP and UDP sockets. */
if (server->tcp_socket != ARES_SOCKET_BAD)
{
+ SOCK_STATE_CALLBACK(channel, server->tcp_socket, 0, 0);
closesocket(server->tcp_socket);
server->tcp_socket = ARES_SOCKET_BAD;
}
if (server->udp_socket != ARES_SOCKET_BAD)
{
+ SOCK_STATE_CALLBACK(channel, server->udp_socket, 0, 0);
closesocket(server->udp_socket);
server->udp_socket = ARES_SOCKET_BAD;
}