ares_process

Langue: en

Autres versions - même langue

Version: 25 July 1998 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

ares_process - Process events for name resolution

SYNOPSIS

 #include <ares.h>
 
 void ares_process(ares_channel channel, fd_set *read_fds,
 

DESCRIPTION

The ares_process function handles input/output events and timeouts associated with queries pending on the name service channel identified by channel. The file descriptor sets pointed to by read_fds and write_fds should have file descriptors set in them according to whether the file descriptors specified by ares_fds(3) are ready for reading and writing. (The easiest way to determine this information is to invoke select with a timeout no greater than the timeout given by ares_timeout(3)).

The ares_process function will invoke callbacks for pending queries if they complete successfully or fail.

EXAMPLE

The following code fragment waits for all pending queries on a channel to complete:
 int nfds, count;
 fd_set readers, writers;
 struct timeval tv, *tvp;
 
 while (1)
   {
     FD_ZERO(&readers);
     FD_ZERO(&writers);
     nfds = ares_fds(channel, &readers, &writers);
     if (nfds == 0)
       break;
     tvp = ares_timeout(channel, NULL, &tv);
     count = select(nfds, &readers, &writers, NULL, tvp);
     ares_process(channel, &readers, &writers);
   }
 

SEE ALSO

ares_fds(3), ares_timeout(3)

AUTHOR

Greg Hudson, MIT Information Systems
Copyright 1998 by the Massachusetts Institute of Technology.