chiark
/
gitweb
/
~mdw
/
adns
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e8c505a
)
Cleanups.
author
ian
<ian>
Sun, 27 Sep 1998 17:56:52 +0000
(17:56 +0000)
committer
ian
<ian>
Sun, 27 Sep 1998 17:56:52 +0000
(17:56 +0000)
src/adns.c
patch
|
blob
|
blame
|
history
src/adns.h
patch
|
blob
|
blame
|
history
diff --git
a/src/adns.c
b/src/adns.c
index 43a0daca34ef28f1c257a9c53af062a3417ef560..cea597ee2d48ccb903505cb76e5f53805bdd0299 100644
(file)
--- a/
src/adns.c
+++ b/
src/adns.c
@@
-327,7
+327,7
@@
int adns_check(adns_state ads,
int adns_synchronous(adns_state ads,
const char *owner,
adns_rrtype type,
int adns_synchronous(adns_state ads,
const char *owner,
adns_rrtype type,
-
int
flags,
+
adns_queryflags
flags,
adns_answer *answer) {
adns_query qu;
int r;
adns_answer *answer) {
adns_query qu;
int r;
@@
-335,7
+335,9
@@
int adns_synchronous(adns_state ads,
r= adns_submit(ads,owner,type,flags,0,&qu);
if (r) return r;
r= adns_submit(ads,owner,type,flags,0,&qu);
if (r) return r;
- r= adns_wait(ads,&qu,answer,0);
+ do {
+ r= adns_wait(ads,&qu,answer,0);
+ } while (r==EINTR);
if (r) adns_cancel(ads,qu);
return r;
}
if (r) adns_cancel(ads,qu);
return r;
}
@@
-343,7
+345,7
@@
int adns_synchronous(adns_state ads,
int adns_submit(adns_state ads,
const char *owner,
adns_rrtype type,
int adns_submit(adns_state ads,
const char *owner,
adns_rrtype type,
-
int
flags,
+
adns_queryflags
flags,
void *context,
adns_query *query_r) {
adns_query qu;
void *context,
adns_query *query_r) {
adns_query qu;
diff --git
a/src/adns.h
b/src/adns.h
index 69425aef7074d099e02b10aaf36255ea62a316cb..553c3205afcec23de02e422375dd2c323d76b615 100644
(file)
--- a/
src/adns.h
+++ b/
src/adns.h
@@
-123,8
+123,9
@@
int adns_init(adns_state *newstate_r, adns_initflags flags);
int adns_synchronous(adns_state ads,
const char *owner,
adns_rrtype type,
int adns_synchronous(adns_state ads,
const char *owner,
adns_rrtype type,
-
int
flags,
+
adns_queryflags
flags,
adns_answer *answer);
adns_answer *answer);
+/* Will not return EINTR. */
/* NB: if you set adns_if_noautosys then _submit and _check do not
* make any system calls; you must use adns_callback (possibly after
/* NB: if you set adns_if_noautosys then _submit and _check do not
* make any system calls; you must use adns_callback (possibly after
@@
-134,7
+135,7
@@
int adns_synchronous(adns_state ads,
int adns_submit(adns_state ads,
const char *owner,
adns_rrtype type,
int adns_submit(adns_state ads,
const char *owner,
adns_rrtype type,
-
int
flags,
+
adns_queryflags
flags,
void *context,
adns_query *query_r);
void *context,
adns_query *query_r);
@@
-147,6
+148,7
@@
int adns_wait(adns_state ads,
adns_query *query_io,
adns_answer *answer,
void *context_r);
adns_query *query_io,
adns_answer *answer,
void *context_r);
+/* Might return EINTR - if so, try again */
void adns_cancel(adns_state ads, adns_query query);
void adns_cancel(adns_state ads, adns_query query);