diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-07-16 20:15:47 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-07-16 20:15:47 +0200 |
commit | ad867662936a4c7ab2c7116d804c272338801231 (patch) | |
tree | a7583840a30702971f5c38b31a12fe7cb69c2fd6 /src/resolve/resolved-manager.c | |
parent | c73ce96b569e2f10dff64b7dc0bd271972674c2a (diff) |
resolved: support for TCP DNS queries
Diffstat (limited to 'src/resolve/resolved-manager.c')
-rw-r--r-- | src/resolve/resolved-manager.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index 09b758f3f4..3d2979dbbe 100644 --- 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) { - if (errno == EAGAIN) + if (errno == EAGAIN || errno == EINTR) 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) { - if (errno == EAGAIN) + if (errno == EAGAIN || errno == EINTR) return 0; return -errno; @@ -657,7 +657,8 @@ static int on_dns_ipv4_packet(sd_event_source *s, int fd, uint32_t revents, void 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) { @@ -674,7 +675,8 @@ static int on_dns_ipv6_packet(sd_event_source *s, int fd, uint32_t revents, void 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) { |