Module: AgentJail::FFI::Setrlimit
- Extended by:
- FFI::Library
- Defined in:
- lib/agent_jail/ffi/setrlimit.rb
Defined Under Namespace
Classes: RLimit
Constant Summary collapse
- RLIMIT_CPU =
POSIX resource limit constants
0- RLIMIT_AS_LINUX =
RLIMIT_AS is virtual address space (address space = memory limit) Linux: 9, macOS: 5
9- RLIMIT_AS_MACOS =
5
Class Method Summary collapse
Class Method Details
.rlimit_as ⇒ Object
28 29 30 |
# File 'lib/agent_jail/ffi/setrlimit.rb', line 28 def self.rlimit_as RUBY_PLATFORM.include?("darwin") ? RLIMIT_AS_MACOS : RLIMIT_AS_LINUX end |
.set_cpu(seconds) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/agent_jail/ffi/setrlimit.rb', line 39 def self.set_cpu(seconds) rlimit = RLimit.new rlimit[:rlim_cur] = seconds rlimit[:rlim_max] = seconds setrlimit(RLIMIT_CPU, rlimit) end |
.set_memory(bytes) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/agent_jail/ffi/setrlimit.rb', line 32 def self.set_memory(bytes) rlimit = RLimit.new rlimit[:rlim_cur] = bytes rlimit[:rlim_max] = bytes setrlimit(rlimit_as, rlimit) end |