Остановка распределенной службы Ruby

У меня есть сценарий, который запускает службу DRb перед созданием объекта-обработчика и ожиданием через DRb .thread.join . Я хотел бы, чтобы сценарий выполнялся до тех пор, пока его не убьют, поэтому я добавил

trap "INT" do
  DRb.stop_service
end

, который успешно останавливает службу DRb и завершает работу в Ruby 1.8, но в версии 1.9 кажется, что он зашел в тупик (в OS X 10.6.7). Выборка процесса показывает пару потоков, вращающихся в semaphore_wait_signal_trap .

Я предполагаю, что я делаю что-то не так, как я » m вызывает stop_service , но я не уверен, что именно. Может ли кто-нибудь подсказать мне, как это правильно сделать?

6
задан kfb 28 March 2011 в 14:52
поделиться