kevent: handle OpenBSD API anomaly, redux
authorJeremy Harris <jgh146exb@wizmail.org>
Mon, 2 Nov 2020 22:31:34 +0000 (22:31 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Mon, 2 Nov 2020 22:31:34 +0000 (22:31 +0000)
src/src/tls.c

index c088c7d85ff25214c21976d91d28915695b3ff76..e6bf1c8d317a5165c54ba30b0796124dfdac1113 100644 (file)
@@ -163,6 +163,7 @@ int fd1, fd2, i, cnt = 0;
 struct stat sb;
 #ifdef OpenBSD
 struct kevent k_dummy;
+struct timespec ts = {0};
 #endif
 
 errno = 0;
@@ -215,14 +216,13 @@ for (;;)
   store_release_above(s+1);
   }
 
-if (kevent(tls_watch_fd, &kev[kev_used-cnt], cnt,
 #ifdef OpenBSD
-           &k_dummy, 1,
+if (kevent(tls_watch_fd, &kev[kev_used-cnt], cnt, &k_dummy, 1, &ts) >= 0)
+  return TRUE;
 #else
-           NULL, 0,
-#endif
-           NULL) >= 0)
+if (kevent(tls_watch_fd, &kev[kev_used-cnt], cnt, NULL, 0, NULL) >= 0)
   return TRUE;
+#endiv
 s = US"kevent";
 
 bad: