--pgp-sign-Multipart_Thu_Jan_22_17:36:53_2009-1
Content-Type: text/plain; charset=ISO-2022-JP

At Thu, 22 Jan 2009 15:54:57 +0900,
Tanaka Akira wrote:
> 存在しないファイルを指すシンボリックリンクをあらかじめ作って
> おき、そこに書き込ませるというわけですか。
>
> 個人的にはそういうことをやった覚えがなく、また、やるにしても
> かなりトリッキーな気がするんですが、それって具体的にはどうい
> う状況で使うんでしょうか。

でっちあげれば、たとえば…

- NFS等で共有された領域にホストローカルなファイルを指すsymlinkを
  作り、別のホストではデッドリンクなんだけれども、なければ作る、
  という挙動に期待して各ホストでのリンク先の生成の手間をけちる

- 新規生成ファイルのパス名がハードコードされた外部コマンドを呼び
  出す際に、symlinkを置いておいて別の場所に書き出されるよう細工
  する

のようなケースが想定可能でしょうか。

> プログラムに書き込ませたいファイルの位置を教えるなら、引数や
> 設定ファイルでやるのがふつうだと思うんですが。

はい、そう思います。たとえば ENOENT でエラーにするのも一つの方針
ではあります。

 まれなケースなので固執はしませんが、先の例の link を creat(2)
ないし O_CREAT 付きで open(2) すれば dir/file にファイルができる
というのは事実で、 realdirpath でわざわざsymlinkを意識した処理を
するからにはそれを織り込みたい場合もあるはずだとは思います。

--
Akinori MUSHA / http://akinori.org/

--pgp-sign-Multipart_Thu_Jan_22_17:36:53_2009-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEABECAAYFAkl4MCUACgkQkgvvx5/Z4e4BUwCeMfuPTJdXUO9ZpDBUt02OlOUI
tXkAoNplxA5st+Tnp7skf7a4vNzs7c/j
=Oj9L
-----END PGP SIGNATURE-----

--pgp-sign-Multipart_Thu_Jan_22_17:36:53_2009-1--