2013-04-08 65 views
2

我正在使用wai/warp进行一些自定义进程间通信。这将有不寻常的要求,我需要在一个进程中动态地启动/停止warp实例。主要问题似乎是干净地停止扭曲。这个问题在这里解决:干净地关闭warp服务器而不退出进程

How do I implement a shutdown command in a WAI server?

,但建议的解决方案最终会从main返回退出进程。我可以只向Thread线程抛出一个ThreadKill异常吗?

这个线程:

https://groups.google.com/forum/#!topic/yesodweb/VoenrabRUBQ

表明,一个IOREF可以在启动时通过,这可能会在外部触发关闭。这听起来很理想,但不是当前API的一部分。

回答

3

您可以通过forkIO在单独的线程中运行Warp,然后仅杀死该线程。

+0

这就是我目前正在做的。我可以依靠经过正确清理的经纱内部吗? – timbod 2013-04-08 12:07:03

+0

是的。我需要更多字符才能成为有效的评论... – 2013-04-08 15:11:40