私のプログラムはネットワークソケットから行を読み込んでディスクに書き込みます。行は本当に長くて文字列がひどいので、私は遅延バイト文字列を使い始めました。レイジーIOの強制評価
- 開いているファイルを
hPut
- 近いファイルのファイルに
- 書き込みバイト文字列を書き込むために:今ではHaskellは実際にディスクへの全バイト文字列を洗い流す、そうせずにディスクファイルハンドルに
hClose
過ぎて行くようです
を読み取るための
openFile: resource busy (file is locked)
になります。 評価を強制し、ファイルを閉じる前にすべてのバイト文字列が書き込まれるのを待つことができるので、その操作後にファイルが実際に閉じられていることを確認できますか?
あなたは[ 'hFlush'](http://hackage.haskell.org/packages/archive/base/latest/doc/html/System-IO.html#v:hFlush)で見たことがありますか? – huon
フラッシングは、 'hClose'と同様、待たずにGHCを通過します。 –