window: add wrapper for EPOLL_CLOEXEC

Android does not have EPOLL_CLOEXEC, so add a fallback.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c
index b79aa1f..3c065e8 100644
--- a/shared/os-compatibility.c
+++ b/shared/os-compatibility.c
@@ -25,6 +25,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <errno.h>
+#include <sys/epoll.h>
 
 #include "os-compatibility.h"
 
@@ -76,3 +77,19 @@
 	return -1;
 }
 
+int
+os_epoll_create_cloexec(void)
+{
+	int fd;
+
+#ifdef EPOLL_CLOEXEC
+	fd = epoll_create1(EPOLL_CLOEXEC);
+	if (fd >= 0)
+		return fd;
+	if (errno != EINVAL)
+		return -1;
+#endif
+
+	fd = epoll_create(1);
+	return set_cloexec_or_close(fd);
+}