[Mew-dist 12720] Re: タイムスタンプを使うimmknmz

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2000年 3月 24日 (金) 19:33:21 JST


From: KOIE Hidetaka (鯉江英隆) <hide at example.com> さん曰く
Subject: [Mew-dist 12719] RE: タイムスタンプを使うimmknmz
Message-ID: <00Mar24.191750jst.29569 at example.com>
Date: Fri, 24 Mar 2000 19:05:22 +0900

鯉江>   | 鯉江> これはwrite-regionは書き込み量がzeroの場合には
鯉江>   | 鯉江> ファイルを更新ないのが原因のようです。

鯉江> FreeBSD-3.3をつかっています。

鯉江>   | という簡単な elisp を動かすと、動かすたびに zzz1 の値が変わって、
鯉江>   | Perl の stat() で得る mtime の値も増加しました。

鯉江> こちらの環境では変化がありませんでした。
鯉江> どうやらopen(2)システムコールの違いのようです。
鯉江> FreeBSDではO_TRUNCが付いていても
鯉江> ファイルサイズが最初から0だったらmtimeを変更しません。
鯉江> ファイルの内容が変更されていないわけですから
鯉江> この仕様は理解できます。(POSIXでは特に規定はなさそうです。)

おぉ、了解です。SunOS 5.4 だと

	If  O_TRUNC  is set and  the file did previously exist, upon
	successful completion  open() marks for  update the st_ctime
	and st_mtime fields of the file.

だから、変わるのですね。紛らわしいけど。
IM/Folder.pm で touch するときは O_TRUNC では無いから mtime が変
わるということですね。

# 道理で乃村さんの mhc でも 'x' を書いていたわけだ。納得。

-- 
白井秀行 (mailto:shirai at example.com)



Mew-dist メーリングリストの案内