Blame examples/limit.lua

Packit 437b5e
-- limit.lua
Packit 437b5e
-- Limiting the CPU time used by a child process;
Packit 437b5e
-- it will be killed and we don't get the final message
Packit 437b5e
Packit 437b5e
local posix = require 'posix'
Packit 437b5e
Packit 437b5e
posix.setrlimit ('cpu',1,1)
Packit 437b5e
Packit 437b5e
local t = posix.times 'elapsed'
Packit 437b5e
Packit 437b5e
local pid = posix.fork ()
Packit 437b5e
if pid == 0 then -- child
Packit 437b5e
  print 'start'
Packit 437b5e
  for i = 1, 1e9 do
Packit 437b5e
  end
Packit 437b5e
  print 'finish'
Packit 437b5e
else
Packit 437b5e
  print (posix.wait (pid))
Packit 437b5e
  print (posix.times 'elapsed' - t)
Packit 437b5e
end