X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fpoll.c;h=6484b346dba5df13665734e5f0b5d959e8ca0d65;hb=814cee186999a6e9a76ab970f891347c1e42b132;hp=63de431394218cce60ad25e3e5d480423ed17e80;hpb=bef232aebeabbef525faa7d7f5b08cf7a1427f95;p=adns.git diff --git a/src/poll.c b/src/poll.c index 63de431..6484b34 100644 --- a/src/poll.c +++ b/src/poll.c @@ -3,16 +3,16 @@ * - wrappers for poll(2) */ /* - * This file is - * Copyright (C) 1997-1999 Ian Jackson - * - * It is part of adns, which is - * Copyright (C) 1997-2000 Ian Jackson - * Copyright (C) 1999-2000 Tony Finch + * This file is part of adns, which is + * Copyright (C) 1997-2000,2003,2006,2014-2016,2020 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, @@ -21,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 @@ -32,13 +31,13 @@ #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]; - adns__consistency(ads,0,cc_entex); + adns__consistency(ads,0,cc_enter); if (timeout_io) { adns__must_gettimeofday(ads,&now,&tv_nowbuf); @@ -78,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; } @@ -86,13 +85,14 @@ void adns_afterpoll(adns_state ads, const struct pollfd *fds, int nfds, const struct timeval *now) { struct timeval tv_buf; - adns__consistency(ads,0,cc_entex); + adns__consistency(ads,0,cc_enter); adns__must_gettimeofday(ads,&now,&tv_buf); if (now) { adns__timeouts(ads, 1, 0,0, *now); + adns__intdone_process(ads); /* fdevents calls adns_processwriteable */ 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, @@ -102,7 +102,7 @@ int adns_wait_poll(adns_state ads, int r, nfds, to; struct pollfd fds[MAX_POLLFDS]; - adns__consistency(ads,0,cc_entex); + adns__consistency(ads,0,cc_enter); for (;;) { r= adns__internal_check(ads,query_io,answer_r,context_r); @@ -124,7 +124,7 @@ int adns_wait_poll(adns_state ads, } xit: - adns__consistency(ads,0,cc_entex); + adns__returning(ads,0); return r; }