Module: Process

Defined in:
lib/phusion_passenger/utils.rb

Class Method Summary collapse

Class Method Details

.timed_waitpid(pid, max_time) ⇒ Object



1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
# File 'lib/phusion_passenger/utils.rb', line 1038

def self.timed_waitpid(pid, max_time)
  done = false
  start_time = Time.now
  while Time.now - start_time < max_time && !done
    done = Process.waitpid(pid, Process::WNOHANG)
    sleep 0.1 if !done
  end
  return !!done
rescue Errno::ECHILD
  return true
end