summaryrefslogtreecommitdiff
path: root/runtime/nsdpoll_ptcp.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2011-03-26 19:16:55 +0100
committerMichael Biebl <biebl@debian.org>2011-03-26 19:16:55 +0100
commitdea543841bb1f1c46586a68da21d55b44c6bf158 (patch)
tree46dd88ab15d5da40adae5ca8748f73e079df979a /runtime/nsdpoll_ptcp.c
parenta362b3333f84518889cefc1706d4e6adaa92888c (diff)
downloadrsyslog-dea543841bb1f1c46586a68da21d55b44c6bf158.tar.gz
Imported Upstream version 5.7.9upstream/5.7.9
Diffstat (limited to 'runtime/nsdpoll_ptcp.c')
-rw-r--r--runtime/nsdpoll_ptcp.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/runtime/nsdpoll_ptcp.c b/runtime/nsdpoll_ptcp.c
index bc374c6..ef9c37a 100644
--- a/runtime/nsdpoll_ptcp.c
+++ b/runtime/nsdpoll_ptcp.c
@@ -133,13 +133,16 @@ delEvent(nsdpoll_epollevt_lst_t **ppEvtLst) {
/* Standard-Constructor
*/
BEGINobjConstruct(nsdpoll_ptcp) /* be sure to specify the object type also in END macro! */
-# if defined(EPOLL_CLOEXEC) && defined(HAVE_EPOLL_CREATE1)
- DBGPRINTF("nsdpoll_ptcp uses epoll_create1()\n");
- pThis->efd = epoll_create1(EPOLL_CLOEXEC);
-# else
+#if defined(EPOLL_CLOEXEC) && defined(HAVE_EPOLL_CREATE1)
+ DBGPRINTF("nsdpoll_ptcp uses epoll_create1()\n");
+ pThis->efd = epoll_create1(EPOLL_CLOEXEC);
+ if(pThis->efd < 0 && errno == ENOSYS)
+#endif
+ {
DBGPRINTF("nsdpoll_ptcp uses epoll_create()\n");
pThis->efd = epoll_create(100); /* size is ignored in newer kernels, but 100 is not bad... */
-# endif
+ }
+
if(pThis->efd < 0) {
DBGPRINTF("epoll_create1() could not create fd\n");
ABORT_FINALIZE(RS_RET_IO_ERROR);