waitpid() called when stopping services.
This commit is contained in:
parent
7fdccfa1b2
commit
184db7db1e
@ -15,6 +15,19 @@ def split_command(string)
|
||||
return command, args
|
||||
end
|
||||
|
||||
lib C
|
||||
fun waitpid(pid : Int32, status_ptr : Int32*, options : Int32) : Int32
|
||||
end
|
||||
|
||||
class Process
|
||||
def self.waitpid(pid)
|
||||
options = 0
|
||||
status_ptr = uninitialized Int32
|
||||
|
||||
C.waitpid(pid, pointerof(status_ptr), options)
|
||||
end
|
||||
end
|
||||
|
||||
class Service
|
||||
getter environment : Environment
|
||||
getter providers = ProvidersList.new
|
||||
@ -295,6 +308,8 @@ class Service
|
||||
else
|
||||
Process.kill Signal::TERM, _pid
|
||||
end
|
||||
|
||||
Process.waitpid _pid
|
||||
else
|
||||
# Already stopped or dead, nothing to be done here.
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user