1 // Copyright 2015 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef SANDBOX_LINUX_SERVICES_RESOURCE_LIMITS_H_ 6 #define SANDBOX_LINUX_SERVICES_RESOURCE_LIMITS_H_ 7 8 #include <sys/resource.h> 9 10 #include "base/compiler_specific.h" 11 #include "base/macros.h" 12 #include "sandbox/sandbox_export.h" 13 14 namespace sandbox { 15 16 // This class provides a small wrapper around setrlimit(). 17 class SANDBOX_EXPORT ResourceLimits { 18 public: 19 // Lower the soft and hard limit of |resource| to |limit|. If the current 20 // limit is lower than |limit|, keep it. 21 static bool Lower(int resource, rlim_t limit) WARN_UNUSED_RESULT; 22 23 private: 24 DISALLOW_IMPLICIT_CONSTRUCTORS(ResourceLimits); 25 }; 26 27 } // namespace sandbox 28 29 #endif // SANDBOX_LINUX_SERVICES_RESOURCE_LIMITS_H_ 30