diff options
| author | 2017-07-12 14:25:28 +0100 | |
|---|---|---|
| committer | 2017-07-12 14:25:28 +0100 | |
| commit | f471083cd0519d47c7c7a09029813ede41994f7b (patch) | |
| tree | 26d756d60526de438b501fd3da71bffe9e551455 /src/socketengines/socketengine_epoll.cpp | |
| parent | Merge pull request #1356 from SISheogorath/master+issuetemplate (diff) | |
| parent | Merge v2.0.23 and v2.0.24 into master. (diff) | |
Merge pull request #1337 from SaberUK/master+merge
Merge v2.0.23 and v2.0.24 into master.
Diffstat (limited to 'src/socketengines/socketengine_epoll.cpp')
| -rw-r--r-- | src/socketengines/socketengine_epoll.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/socketengines/socketengine_epoll.cpp b/src/socketengines/socketengine_epoll.cpp index a935d786b..c442e340d 100644 --- a/src/socketengines/socketengine_epoll.cpp +++ b/src/socketengines/socketengine_epoll.cpp @@ -22,7 +22,7 @@ #include "exitcodes.h" #include <sys/epoll.h> -#include <ulimit.h> +#include <sys/resource.h> #include <iostream> /** A specialisation of the SocketEngine class, designed to use linux 2.6 epoll(). @@ -38,8 +38,12 @@ namespace void SocketEngine::Init() { - // MAX_DESCRIPTORS is mainly used for display purposes, no problem if ulimit() fails and returns a negative number - MAX_DESCRIPTORS = ulimit(4, 0); + // MAX_DESCRIPTORS is mainly used for display purposes, no problem if getrlimit() fails + struct rlimit limit; + if (!getrlimit(RLIMIT_NOFILE, &limit)) + { + MAX_DESCRIPTORS = limit.rlim_cur; + } // 128 is not a maximum, just a hint at the eventual number of sockets that may be polled, // and it is completely ignored by 2.6.8 and later kernels, except it must be larger than zero. |
