From ad867662936a4c7ab2c7116d804c272338801231 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 16 Jul 2014 20:15:47 +0200 Subject: resolved: support for TCP DNS queries --- src/resolve/resolved-manager.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/resolve/resolved-manager.c') 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) { -- cgit v1.2.3-54-g00ecf