【发布时间】:2011-07-24 13:34:43
【问题描述】:
在生成处理程序对象并通过DRb.thread.join 等待之前,我有一个启动 DRb 服务的脚本。我希望脚本一直运行到被明确杀死,所以我添加了
trap "INT" do
DRb.stop_service
end
在 Ruby 1.8 下成功停止 DRb 服务并退出,但在 1.9 下似乎死锁(在 OS X 10.6.7 上)。对进程进行采样显示semaphore_wait_signal_trap 中有几个线程在旋转。
我认为我在调用 stop_service 的方式上做错了,但我不确定是什么。谁能给我任何关于如何正确进行的指示?
【问题讨论】:
标签: ruby distributed ruby-1.9 ruby-1.8 drb