This commit is contained in:
Yonas Habteab 2026-04-08 09:12:41 +02:00 committed by GitHub
commit 5cfae05fab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 22 additions and 3 deletions

View file

@ -281,9 +281,6 @@ static int Main()
#endif /* RLIMIT_STACK */
}
if (!autocomplete)
Application::SetResourceLimits();
LogSeverity logLevel = Logger::GetConsoleLogSeverity();
Logger::SetConsoleLogSeverity(LogWarning);
@ -442,6 +439,10 @@ static int Main()
Configuration::Concurrency = std::thread::hardware_concurrency();
}
if (!autocomplete && command && command->NeedsRLimitAdjustment()) {
Application::SetResourceLimits();
}
Application::GetTP().Restart();
/* Ensure that all defined constants work in the way we expect them. */

View file

@ -96,6 +96,11 @@ bool CLICommand::IsDeprecated() const
return false;
}
bool CLICommand::NeedsRLimitAdjustment() const
{
return false;
}
std::mutex& CLICommand::GetRegistryMutex()
{
static std::mutex mtx;

View file

@ -42,6 +42,7 @@ public:
virtual int GetMaxArguments() const;
virtual bool IsHidden() const;
virtual bool IsDeprecated() const;
virtual bool NeedsRLimitAdjustment() const;
virtual void InitParameters(boost::program_options::options_description& visibleDesc,
boost::program_options::options_description& hiddenDesc) const;
virtual ImpersonationLevel GetImpersonationLevel() const;

View file

@ -167,6 +167,11 @@ ImpersonationLevel ConsoleCommand::GetImpersonationLevel() const
return ImpersonateNone;
}
bool ConsoleCommand::NeedsRLimitAdjustment() const
{
return true;
}
void ConsoleCommand::InitParameters(boost::program_options::options_description& visibleDesc,
[[maybe_unused]] boost::program_options::options_description& hiddenDesc) const
{

View file

@ -30,6 +30,7 @@ public:
String GetDescription() const override;
String GetShortDescription() const override;
ImpersonationLevel GetImpersonationLevel() const override;
bool NeedsRLimitAdjustment() const override;
void InitParameters(boost::program_options::options_description& visibleDesc,
boost::program_options::options_description& hiddenDesc) const override;
int Run(const boost::program_options::variables_map& vm, const std::vector<std::string>& ap) const override;

View file

@ -176,6 +176,11 @@ String DaemonCommand::GetShortDescription() const
return "starts Icinga 2";
}
bool DaemonCommand::NeedsRLimitAdjustment() const
{
return true;
}
void DaemonCommand::InitParameters(boost::program_options::options_description& visibleDesc,
[[maybe_unused]] boost::program_options::options_description& hiddenDesc) const
{

View file

@ -21,6 +21,7 @@ public:
String GetDescription() const override;
String GetShortDescription() const override;
bool NeedsRLimitAdjustment() const override;
void InitParameters(boost::program_options::options_description& visibleDesc,
boost::program_options::options_description& hiddenDesc) const override;
std::vector<String> GetArgumentSuggestions(const String& argument, const String& word) const override;