Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

ares__close_sockets.c File Reference

#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)


Function Documentation

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 }


Generated on Wed Jan 14 12:58:59 2004 for RTL-lwIP-0.4 by doxygen 1.3.4