summaryrefslogtreecommitdiffstats
path: root/src/resolve/resolved-dns-stream.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:27:01 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-16 18:27:01 +0000
commit0acda3abb713d13ee9c7778766a1fff5bbfdd87e (patch)
treeabc5d8e66d598a5dc1fd96c99f7ca09adb063205 /src/resolve/resolved-dns-stream.c
parentReleasing progress-linux version 256.4-3~progress7.99u1. (diff)
downloadsystemd-0acda3abb713d13ee9c7778766a1fff5bbfdd87e.tar.xz
systemd-0acda3abb713d13ee9c7778766a1fff5bbfdd87e.zip
Merging upstream version 256.5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/resolve/resolved-dns-stream.c')
-rw-r--r--src/resolve/resolved-dns-stream.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/resolve/resolved-dns-stream.c b/src/resolve/resolved-dns-stream.c
index 1a43d0b..8c15120 100644
--- a/src/resolve/resolved-dns-stream.c
+++ b/src/resolve/resolved-dns-stream.c
@@ -322,6 +322,12 @@ static int on_stream_io(sd_event_source *es, int fd, uint32_t revents, void *use
return dns_stream_complete(s, -r);
}
+ if (revents & EPOLLERR) {
+ socklen_t errlen = sizeof(r);
+ if (getsockopt(s->fd, SOL_SOCKET, SO_ERROR, &r, &errlen) == 0)
+ return dns_stream_complete(s, r);
+ }
+
if ((revents & EPOLLOUT) &&
s->write_packet &&
s->n_written < sizeof(s->write_size) + s->write_packet->size) {