aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mdevd/mdevd_uevent_read.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mdevd/mdevd_uevent_read.c b/src/mdevd/mdevd_uevent_read.c
index 38be5ea..9a395dc 100644
--- a/src/mdevd/mdevd_uevent_read.c
+++ b/src/mdevd/mdevd_uevent_read.c
@@ -18,9 +18,11 @@
static inline ssize_t fd_recvmsg (int fd, struct msghdr *hdr)
{
+ int e = errno ;
ssize_t r ;
do r = recvmsg(fd, hdr, 0) ;
- while ((r == -1) && (errno == EINTR)) ;
+ while (r == -1 && errno == EINTR) ;
+ if (r >= 0) errno = e ;
return r ;
}