delete_file -force ― 2006年10月07日 10時42分47秒
VOS では、ロック機構が unix とは違った形で施されている。例えば、unix では rm file をするとそのまま消せる。unix では、inode 数を減らすだけで、ファイルシステムからは、inode 数がゼロになったら消されるためだ。VOS では、delete_file と truncate_file 共にファイルがロックされていない必要がある。もし、他のプログラムが開いていたら、消すことが出来ない。
delete_file -force はファイルに特別なフラグを立てて、全てのロックが解除された時に、消すようにする。ファイルを消そうと思って、失敗すると大体誰かが利用中なのだ。実行中のプログラムファイルも同じようにロックされる。
利点としては、どのプログラムが特定のファイルを使っているのかとても分かりやすいことである。ロックをかけないでファイルを開くのは s$open で dirty input を指定したときだけだ。dirty input は他のプログラムにロックされているレコードにもアクセスできる。ただし、内容は保証されていない。
最近のコメント