summaryrefslogtreecommitdiff
path: root/epoll.c
diff options
context:
space:
mode:
Diffstat (limited to 'epoll.c')
-rw-r--r--epoll.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/epoll.c b/epoll.c
index 9f1066d8..bdab078b 100644
--- a/epoll.c
+++ b/epoll.c
@@ -109,8 +109,14 @@ epoll_init(void)
return (NULL);
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 &&
- rl.rlim_cur != RLIM_INFINITY)
- nfiles = rl.rlim_cur;
+ rl.rlim_cur != RLIM_INFINITY) {
+ /*
+ * Solaris is somewhat retarded - it's important to drop
+ * backwards compatibility when making changes. So, don't
+ * dare to put rl.rlim_cur here.
+ */
+ nfiles = rl.rlim_cur - 1;
+ }
/* Initalize the kernel queue */