chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
resolved: support for TCP DNS queries
[elogind.git]
/
src
/
resolve
/
resolved-manager.c
diff --git
a/src/resolve/resolved-manager.c
b/src/resolve/resolved-manager.c
index 8718ea40b298c1d1cbcac7d7c93340e119c3e1ef..3d2979dbbe196922eba809f3dcad72f6f1b592f8 100644
(file)
--- a/
src/resolve/resolved-manager.c
+++ b/
src/resolve/resolved-manager.c
@@
-577,7
+577,7
@@
int manager_dns_ipv4_recv(Manager *m, DnsPacket **ret) {
l = recvmsg(fd, &mh, 0);
if (l < 0) {
l = recvmsg(fd, &mh, 0);
if (l < 0) {
- if (errno == EAGAIN)
+ if (errno == EAGAIN
|| errno == EINTR
)
return 0;
return -errno;
return 0;
return -errno;
@@
-626,7
+626,7
@@
int manager_dns_ipv6_recv(Manager *m, DnsPacket **ret) {
l = recvmsg(fd, &mh, 0);
if (l < 0) {
l = recvmsg(fd, &mh, 0);
if (l < 0) {
- if (errno == EAGAIN)
+ if (errno == EAGAIN
|| errno == EINTR
)
return 0;
return -errno;
return 0;
return -errno;
@@
-653,11
+653,12
@@
static int on_dns_ipv4_packet(sd_event_source *s, int fd, uint32_t revents, void
if (r <= 0)
return r;
if (r <= 0)
return r;
- t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_
HEADER(p)->id
));
+ t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_
ID(p)
));
if (!t)
return 0;
if (!t)
return 0;
- return dns_query_transaction_reply(t, p);
+ dns_query_transaction_reply(t, p);
+ return 0;
}
static int on_dns_ipv6_packet(sd_event_source *s, int fd, uint32_t revents, void *userdata) {
}
static int on_dns_ipv6_packet(sd_event_source *s, int fd, uint32_t revents, void *userdata) {
@@
-670,11
+671,12
@@
static int on_dns_ipv6_packet(sd_event_source *s, int fd, uint32_t revents, void
if (r <= 0)
return r;
if (r <= 0)
return r;
- t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_
HEADER(p)->id
));
+ t = hashmap_get(m->dns_query_transactions, UINT_TO_PTR(DNS_PACKET_
ID(p)
));
if (!t)
return 0;
if (!t)
return 0;
- return dns_query_transaction_reply(t, p);
+ dns_query_transaction_reply(t, p);
+ return 0;
}
int manager_dns_ipv4_fd(Manager *m) {
}
int manager_dns_ipv4_fd(Manager *m) {