lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 10 Mar 2010 13:29:11 +0530 (IST)
From:	Srinivas Nayak <sinu_nayak2001@...oo.co.in>
To:	linux-kernel@...r.kernel.org
Subject: BUG: Is it a bug in Linux time() function or Linux OS calls?

Dear All,

I wrote a small program, that creates files at an interval of 1 minute. But the time at which the file is created and last written and the last modification time of the file as shown by ls command differs by 1 second. The code and the output is presented below. please let me know where could be the bug?

	root@new:/home/srinivas# cat b.c 
	#include <time.h> 
	#include <stdio.h> 
	#include <sys/stat.h> 
	#include <dirent.h> 
	#include <fcntl.h> 
	int main () 
	{ 
	    int fd; 
	    int i=0; 
	    time_t initial_time = time(NULL); 
	    time_t interval = 60; 
	    time_t curr_time = time(NULL); 

	    fd=open ("test1.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666); 
	    write(fd,"abcd1",5); 
	    while(1) 
	    { 
		curr_time = time(NULL); 
		if(curr_time >= initial_time) 
		{ 
		    if(i==0) 
		    { 
			close(fd); 
			printf("\ntime before test2.txt fileopen= %d\n", time(NULL)); 
			fd=open ("test2.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666); 
			write(fd,"abcd2",5); 
			printf("time after test2.txt filewrite= %d\n", time(NULL)); 
			system("ls -l --time-style=+%s test2.txt"); 
			initial_time += interval; 
			i=1; 
		    } 
		    else 
		    { 
			close(fd); 
			printf("\ntime before test1.txt fileopen= %d\n", time(NULL)); 
			fd=open ("test1.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666); 
			write(fd,"abcd1",5); 
			printf("time after test1.txt filewrite= %d\n", time(NULL)); 
			system("ls -l --time-style=+%s test1.txt"); 
			initial_time += interval; 
			i=0; 
		    } 
		} 
		usleep(1000); 
	    } 
	    return 0; 
	} 
	root@new:/home/srinivas# gcc b.c 
	root@new:/home/srinivas# ./a.out 

	time before test2.txt fileopen= 1268203133 
	time after test2.txt filewrite= 1268203133 
	-rw-r--r-- 1 root root 5 1268203133 test2.txt 

	time before test1.txt fileopen= 1268203193 
	time after test1.txt filewrite= 1268203193 
	-rw-r--r-- 1 root root 5 1268203192 test1.txt 

	time before test2.txt fileopen= 1268203253 
	time after test2.txt filewrite= 1268203253 
	-rw-r--r-- 1 root root 5 1268203252 test2.txt 

	time before test1.txt fileopen= 1268203313 
	time after test1.txt filewrite= 1268203313 
	-rw-r--r-- 1 root root 5 1268203312 test1.txt 

	time before test2.txt fileopen= 1268203373 
	time after test2.txt filewrite= 1268203373 
	-rw-r--r-- 1 root root 5 1268203372 test2.txt 

	root@new:/home/srinivas# ls -ltr --time-style=+%s 
	total 40 
	-rwxrwxrwx  1 root     root      1095 1268202457 b.c 
	-rwxr-xr-x  1 root     root     10300 1268202459 a.out 
	-rw-r--r--  1 root     root         5 1268203312 test1.txt 
	-rw-r--r--  1 root     root         5 1268203372 test2.txt 
	root@new:/home/srinivas# 


Some system info:
===========
Linux new 2.6.24-19-server #1 SMP Wed Jun 18 14:44:47 UTC 2008 x86_64 GNU/Linux
Gnu C                  4.2.4
Linux C Library        2.7
binutils               2.18.0.20080103
util-linux             2.13.1
Console-tools          0.2.3
Sh-utils               6.10
===========


With best regards,
 
Yours sincerely,
Srinivas Nayak
 
My Home page: http://www.mathmeth.com/sn/
My Blog: http://srinivas-nayak.blogspot.com


      The INTERNET now has a personality. YOURS! See your Yahoo! Homepage. http://in.yahoo.com/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ