X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/940356bdf463f1decefb2c8d63dd33d7276d5991..5307773088c9b322501533291f3fbc3b7b84b377:/src/poll.c diff --git a/src/poll.c b/src/poll.c index 1fe28f4..305b275 100644 --- a/src/poll.c +++ b/src/poll.c @@ -3,11 +3,16 @@ * - wrappers for poll(2) */ /* - * This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson + * This file is part of adns, which is + * Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson + * Copyright (C) 2014 Mark Wooding + * Copyright (C) 1999-2000,2003,2006 Tony Finch + * Copyright (C) 1991 Massachusetts Institute of Technology + * (See the file INSTALL for full details.) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) + * the Free Software Foundation; either version 3, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, @@ -16,8 +21,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * along with this program; if not, write to the Free Software Foundation. */ #include @@ -27,8 +31,8 @@ #ifdef HAVE_POLL -int adns_beforepoll(adns_state ads, struct pollfd *fds, int *nfds_io, int *timeout_io, - const struct timeval *now) { +int adns_beforepoll(adns_state ads, struct pollfd *fds, int *nfds_io, + int *timeout_io, const struct timeval *now) { struct timeval tv_nowbuf, tv_tobuf, *tv_to; int space, found, timeout_ms, r; struct pollfd fds_tmp[MAX_POLLFDS]; @@ -73,7 +77,7 @@ int adns_beforepoll(adns_state ads, struct pollfd *fds, int *nfds_io, int *timeo } r= 0; xit: - adns__consistency(ads,0,cc_entex); + adns__returning(ads,0); return r; } @@ -87,7 +91,7 @@ void adns_afterpoll(adns_state ads, const struct pollfd *fds, int nfds, adns__timeouts(ads, 1, 0,0, *now); adns__fdevents(ads, fds,nfds, 0,0,0,0, *now,0); } - adns__consistency(ads,0,cc_entex); + adns__returning(ads,0); } int adns_wait_poll(adns_state ads, @@ -101,7 +105,7 @@ int adns_wait_poll(adns_state ads, for (;;) { r= adns__internal_check(ads,query_io,answer_r,context_r); - if (r != EWOULDBLOCK) goto xit; + if (r != EAGAIN) goto xit; nfds= MAX_POLLFDS; to= -1; adns_beforepoll(ads,fds,&nfds,&to,0); r= poll(fds,nfds,to); @@ -119,7 +123,7 @@ int adns_wait_poll(adns_state ads, } xit: - adns__consistency(ads,0,cc_entex); + adns__returning(ads,0); return r; }