Method: Unicorn::HttpServer#stop

Defined in:
lib/unicorn/http_server.rb

#stop(graceful = true) ⇒ Object

Terminates all workers, but does not exit master process



340
341
342
343
344
345
346
347
348
349
350
351
352
353
# File 'lib/unicorn/http_server.rb', line 340

def stop(graceful = true)
  self.listeners = []
  limit = time_now + timeout
  until @workers.empty? || time_now > limit
    if graceful
      soft_kill_each_worker(:QUIT)
    else
      kill_each_worker(:TERM)
    end
    sleep(0.1)
    reap_all_workers
  end
  kill_each_worker(:KILL)
end