組み込まれたエンジニア

我輩は石である。名前はまだ無い。

unlinkの動作

2007-12-11 19:51:29 | Weblog
unlinkはファイルを削除するのに使うのだけれど、VisualC++でコンパイルしたプログラムが思ったような動作をしなかった。

通常、unlinkは、自分のプロセスがファイルをオープンしていても発行することができ、その場合、ファイルは中間状態のようなほかからはリファーできない状態に置かれる。自分のプロセスがファイルをクロースした(もしくはexitした)場合には、中間状態に置かれたファイルはきれいに消えるのだ。

ところが、VisualC++ .NET ではプログラムが終了してもファイルが残ってしまう。
_WIN32だから、_unlinkなのかと変更しても同じだ。

同じプログラムをCygwinで動かしたり、Linuxで動かせば期待通りの動作をしてくれる。

むむ・・

結局、先にクロースしないと消せないのが、VisualC++的仕様らしい・・はぁ・・

UNIX V6の権利は今どこに?

2007-12-03 18:07:39 | Weblog
夏ごろ、アメリカでSCOとNovelのUNIXの権利に関する係争に裁判所の判決が下り、SCOはNovelからUNIXの資産を買ったけれど、著作権はそこに含まれなかったという結論が出された。ビジネスとしてはとても不思議な取引をした2社である。

ところで、UNIXの古いバージョンはCaldera社(=SCO)がオープンソースとして公開したという経緯があったが、、SCOが著作権を持っていなかったということになると、権利がないものを公開したことになる。

ところで、判決をざっと横目で眺めると、どうやら、Novelが留保した権利はSVRXのもののような気がする。(裁判所はあまりUNIXとSVRXを区別して考えていないようだが・・)

Lions CommentaryのUNIX V6はSVR以前のものだし、UNIX V7以降は著作権表示がされているけれど、V6は著作権表示がなされていない。

当時のアメリカの著作権法を考えれば、V6はパブリックドメインということになるはずだが・・?

よくわからないが、Lions Commentaryの2238行目

You are not expected to understand this.

なのか・・