From owner-FreeBSD-users-jp@jp.freebsd.org  Tue Jun  1 23:43:59 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id XAA01246;
	Tue, 1 Jun 1999 23:43:59 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mfi01.iij.ad.jp (mfi01.iij.ad.jp [202.232.2.116])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id XAA01241
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 1 Jun 1999 23:43:59 +0900 (JST)
	(envelope-from i-kuwaha@pp.iij4u.or.jp)
Received: from anana.mulberry.jp (h094.p068.iij4u.or.jp [210.130.68.94])
	by mfi01.iij.ad.jp (8.8.8/MFI1.2) with ESMTP id XAA26624;
	Tue, 1 Jun 1999 23:43:54 +0900 (JST)
Received: from localhost (localhost.mulberry.jp [127.0.0.1])
	by anana.mulberry.jp (8.9.2/3.7W03/27/99) with ESMTP id XAA00964;
	Tue, 1 Jun 1999 23:43:00 +0900 (JST)
To: FreeBSD-users-jp@jp.freebsd.org
Cc: i-kuwaha@pp.iij4u.or.jp
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19990601234259M.i-kuwaha@pp.iij4u.or.jp>
Date: Tue, 01 Jun 1999 23:42:59 +0900
From: Ichiro KUWAHARA <i-kuwaha@pp.iij4u.or.jp>
X-Dispatcher: imput version 980905(IM100)
Lines: 82
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990526
X-Sequence: FreeBSD-users-jp 42781
Subject: [FreeBSD-users-jp 42781] read() dosen't change atime of file with size 0
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: i-kuwaha@pp.iij4u.or.jp

$B6u$C$](B(size 0)$B$N%U%!%$%k$KBP$7$F(B open() $B$7$F(B read() $B$9$k$H!$(BFreeBSD $B$@(B
$B$1(B atime $B$,JQ99$5$l$J$$$H$$$&IT;W5D$J8=>]$KAx6x$7$^$7$?!%(B

===============================
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>

int main( int argc, char **argv )
{
	int f;
	const char *s = "/var/tmp/hogehoge";

	if ((f = open(s, O_RDONLY, 0)) >= 0) {
		char a;
		(void) read(f, &a, 1);
		close(f);
	} else {
		if ((f = open(s, O_WRONLY|O_CREAT|O_TRUNC, 0644)) >= 0)
			close(f);
	}

	exit(0);
}
===============================

$B>e5-%W%m%0%i%`$G!$6u$C$]$N(B hogehoge $B$,B8:_$9$k>l9g$K!$(Batime $B$,99?7$5$l(B
$B$k$+$I$&$+D4$Y$F$_$k$H!$(B

  - FreeBSD 3.1R   $B!_(B
  - Linux 2.0.36   $B!{(B
  - SunOS 4.1.4    $B!{(B
  - SunOS 5.5.1    $B!{(B

$B$H$J$j$^$9!%(B


FreeBSD $B$G$O<B9TA08e$G!$(B

[ $B<B9TA0(B ]
i-kuwaha(anana)> ls -lu /var/tmp/hogehoge
-rw-r--r--  1 i-kuwaha  wheel  0 Jun  1 23:27 /var/tmp/hogehoge

[ $B<B9T8e(B ]
i-kuwaha(anana)> ls -lu /var/tmp/hogehoge
-rw-r--r--  1 i-kuwaha  wheel  0 Jun  1 23:27 /var/tmp/hogehoge

$B$H2?$iJQ2=$7$^$;$s$,!$B>$N(B OS $B$G$O;~4V(B(access time)$B$,JQ$o$j$^$9!%(B


$BLLGr$$$N$O!$L5M}$d$j(B hogehoge $B$K2?$+F~$l$F<BBN$r;}$?$;$k$H!$(BFreeBSD $B$G(B
$B$b!$(B

[ $B<B9TA0(B ]
i-kuwaha(anana)> ls -lu /var/tmp/hogehoge
-rw-r--r--  1 i-kuwaha  wheel  1 Jun  1 23:27 /var/tmp/hogehoge

[ $B<B9T8e(B ]
i-kuwaha(anana)> ls -lu /var/tmp/hogehoge
-rw-r--r--  1 i-kuwaha  wheel  1 Jun  1 23:32 /var/tmp/hogehoge

$B$H;~4V$,JQ2=$7$^$9!%(B


FreeBSD $B$@$1B>$N(B UNIX($B7O(B) OS $B$H5sF0$,0c$&$h$&$J$N$O$I$&2r<a$9$Y$-$J$s(B
$B$G$7$g$&!)(B


 $B!t(B NNTP server $B$H$7$F(B leafnode+ $B$r;H$C$F$$$k$s$G$9$,!$(BNG$BL>$N6u%U%!%$(B
 $B!t(B $B%k$N(B time stamp $B$r;H$C$F$$$m$$$m%A%'%C%/$7$F$$$F!$$=$l$,$&$^$/F0:n(B
 $B!t(B $B$7$F$$$J$$$s$GD4$Y$F$_$?$i!$$3$l$,860x$i$7$/$F!D!%(B


+---
  $B(#(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!($(B
  $B("(B        $B!%(B   $B$/$o$O$i(B $B$$$A$m$&(B      $B(-(B
  $B("(B   $B!%(B $B!|!'(B      $B!~(B $B2#IM;T9AKL6h(B $B!~(B  $B(-(B
  $B("(B $B!|!'(B        i-kuwaha@pp.iij4u.or.jp$B(-(B
  $B(&(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(B
