Blob Blame History Raw
diff -up libselinux-2.1.6/src/avc_internal.c.f17 libselinux-2.1.6/src/avc_internal.c
--- libselinux-2.1.6/src/avc_internal.c.f17	2012-02-03 10:36:34.813636649 -0500
+++ libselinux-2.1.6/src/avc_internal.c	2012-02-03 10:37:04.499679138 -0500
@@ -101,7 +101,9 @@ static int avc_netlink_receive(char *buf
 	socklen_t nladdrlen = sizeof nladdr;
 	struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
 
-	rc = poll(&pfd, 1, (blocking ? -1 : 0));
+	do {
+		rc = poll(&pfd, 1, (blocking ? -1 : 0));
+	} while (rc < 0 && errno == EINTR);
 
 	if (rc == 0 && !blocking) {
 		errno = EWOULDBLOCK;