« "The Computer is Personal Again"? | トップページ | メモランダムが IE7 で見られず »

2008年1月27日 (日)

ヒアドキュメントの実装 その 2

結局、ヒアドキュメントの内容が PIPE_BUF バイト以内ならパイプ、それ以上なら一時ファイルを使うことにした。

一時ファイルは、作成した瞬間に削除するのが味噌。POSIX 準拠システムでは、ファイルをファイルシステムから削除してもプログラムがファイルを開いている限りはファイルは消えないし、読み書きだってできる。ファイルシステムから削除することによって、そのファイルはファイルを開いているプログラム自身からしか扱えなくなるので、他のプログラムに余計なちょっかいを出される心配はなくなる。もっとも、作成してから削除するまでの僅かな時間の間に他のプログラムにいじられる虞がないわけではないが。

注: ファイルシステムから削除したら絶対に他のプログラムから開けなくなるのかというとそうでもない。例えば Linux には /proc/プロセス番号/fd というディレクトリがあって云云。

|

« "The Computer is Personal Again"? | トップページ | メモランダムが IE7 で見られず »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/169172/17855148

この記事へのトラックバック一覧です: ヒアドキュメントの実装 その 2:

« "The Computer is Personal Again"? | トップページ | メモランダムが IE7 で見られず »