1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-23 04:54:18 +00:00

Adjust open file descriptor limit on startup

This raises qbt's open file descriptor limit to the available maximum
(within user privileges) and thus users don't need to adjust it
manually anymore.
This commit is contained in:
Chocobo1 2019-06-26 13:44:58 +08:00
parent 3d6041ebbd
commit d0bfe9a661
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C

View File

@ -33,6 +33,9 @@
#include <cstdlib>
#include <memory>
#if defined(Q_OS_UNIX)
#include <sys/resource.h>
#endif
#if !defined Q_OS_WIN && !defined Q_OS_HAIKU
#include <unistd.h>
#elif defined Q_OS_WIN && defined DISABLE_GUI
@ -116,9 +119,17 @@ void displayBadArgMessage(const QString &message);
void showSplashScreen();
#endif // DISABLE_GUI
#if defined(Q_OS_UNIX)
void adjustFileDescriptorLimit();
#endif
// Main
int main(int argc, char *argv[])
{
#if defined(Q_OS_UNIX)
adjustFileDescriptorLimit();
#endif
// We must save it here because QApplication constructor may change it
bool isOneArg = (argc == 2);
@ -397,3 +408,16 @@ bool userAgreesWithLegalNotice()
return false;
}
#if defined(Q_OS_UNIX)
void adjustFileDescriptorLimit()
{
rlimit limit {};
if (getrlimit(RLIMIT_NOFILE, &limit) != 0)
return;
limit.rlim_cur = limit.rlim_max;
setrlimit(RLIMIT_NOFILE, &limit);
}
#endif