chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixes from www.gnu.org
[adns]
/
src
/
poll.c
diff --git
a/src/poll.c
b/src/poll.c
index 1fe28f403f1cdb0ee0fd3d197eaeb8860b981c04..35d08555c86c4223f36868ecb086453503d4e156 100644
(file)
--- a/
src/poll.c
+++ b/
src/poll.c
@@
-3,7
+3,12
@@
* - wrappers for poll(2)
*/
/*
* - wrappers for poll(2)
*/
/*
- * This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson
+ * This file is
+ * Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
+ *
+ * It is part of adns, which is
+ * Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
+ * Copyright (C) 1999-2000 Tony Finch <dot@dotat.at>
*
* 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
*
* 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
@@
-27,8
+32,8
@@
#ifdef HAVE_POLL
#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];
struct timeval tv_nowbuf, tv_tobuf, *tv_to;
int space, found, timeout_ms, r;
struct pollfd fds_tmp[MAX_POLLFDS];
@@
-101,7
+106,7
@@
int adns_wait_poll(adns_state ads,
for (;;) {
r= adns__internal_check(ads,query_io,answer_r,context_r);
for (;;) {
r= adns__internal_check(ads,query_io,answer_r,context_r);
- if (r != E
WOULDBLOCK
) goto xit;
+ if (r != E
AGAIN
) goto xit;
nfds= MAX_POLLFDS; to= -1;
adns_beforepoll(ads,fds,&nfds,&to,0);
r= poll(fds,nfds,to);
nfds= MAX_POLLFDS; to= -1;
adns_beforepoll(ads,fds,&nfds,&to,0);
r= poll(fds,nfds,to);