Ctrl + Cと一般的なウィンドウに問題があります。私は詳細については本当に明確ではない。たぶん、窓を使用する人は、より良い解決策を考え出すことができます。行うには
最も簡単な方法は、それが終了信号を受信するまでforkIO
とwaitForTermination
do tid <- forkIO $ simpleHTTP nullConf yourApp
waitForTermination
killThread tid
waitForTermination
だけブロックを使用することです。 Unixプラットフォームでは、それは^ Cです。窓の下では、文字「e」(終了のため)です。バッファリングに応じて、return
キーを押す必要があります。
Linuxでは、happstack-plugins/plugins-autoを使用すると、ソースファイルが保存されるたびに実行中のサーバーに変更を自動的に再コンパイルして再ロードできます。しかし、プラグインオートは現在、Windows特有のinotifyライブラリに依存しているため、Windowsをサポートしていません。 inotifyサポートを一般化して、利用可能なときに使用できるようにするいくつかの作業が進行中であり、Windowsの下でポーリングソリューションを使用します。チェックアウトのプラグイン・オートの古いデモを表示するには
:
http://happstack.blogspot.com/2010/10/recompile-your-haskell-based-templates.html
私はここで推測しているが、Ctrl-Cをデフォルトでアプリを閉じて処理されるという例外を発生しないのですか?もしそうなら、それはサーバを起動するHappstackのIOアクションの周りのそのようなハンドラを読むことの問題に過ぎないでしょう。 Happstack.Server.SimpleHttp.waitForTermination :: IO()もあります。 –
申し訳ありませんが、私は完全にhapstackの新機能です - もっと詳細な例を提供できますか?また、回答として投稿することもできます(該当する場合は受け入れることができます)。 – drozzy