#include "ares_private.h"Include dependency graph for ares__close_sockets.c:
Go to the source code of this file.
Functions | |
| void | ares__close_sockets (struct server_state *server) |
|
|
Definition at line 25 of file ares__close_sockets.c. References free, send_request::next, NULL, server_state::qhead, server_state::qtail, server_state::tcp_buffer, server_state::tcp_lenbuf_pos, server_state::tcp_socket, and server_state::udp_socket. Referenced by ares_destroy(), end_query(), and handle_error().
00026 {
00027 struct send_request *sendreq;
00028
00029 /* Free all pending output buffers. */
00030 while (server->qhead)
00031 {
00032 /* Advance server->qhead; pull out query as we go. */
00033 sendreq = server->qhead;
00034 server->qhead = sendreq->next;
00035 free(sendreq);
00036 }
00037 server->qtail = NULL;
00038
00039 /* Reset any existing input buffer. */
00040 if (server->tcp_buffer)
00041 free(server->tcp_buffer);
00042 server->tcp_buffer = NULL;
00043 server->tcp_lenbuf_pos = 0;
00044
00045 /* Close the TCP and UDP sockets. */
00046 if (server->tcp_socket != -1)
00047 {
00048 close(server->tcp_socket);
00049 server->tcp_socket = -1;
00050 }
00051 if (server->udp_socket != -1)
00052 {
00053 close(server->udp_socket);
00054 server->udp_socket = -1;
00055 }
00056 }
|
1.3.4