man ares_process (Fonctions bibliothèques) - Process events for name resolution
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.