modify ctime only when writing to file, prevents message "file has changed"
[Fuse-DBI] / DBI.pm
diff --git a/DBI.pm b/DBI.pm
index 406db38..c94a5e3 100755 (executable)
--- a/DBI.pm
+++ b/DBI.pm
@@ -364,7 +364,8 @@ sub read_content {
 
        $sth->{'read'}->execute($id) || die $sth->{'read'}->errstr;
        $files{$file}{cont} = $sth->{'read'}->fetchrow_array;
-       $files{$file}{ctime} = time();
+       # I should modify ctime only if content in database changed
+       #$files{$file}{ctime} = time() unless ($files{$file}{ctime});
        print "file '$file' content [",length($files{$file}{cont})," bytes] read in cache\n";
 }
 
@@ -410,6 +411,7 @@ sub clear_cont {
        print "invalidate all cached content\n";
        foreach my $f (keys %files) {
                delete $files{$f}{cont};
+               delete $files{$f}{ctime};
        }
        print "begin new transaction\n";
        #$dbh->begin_work || die $dbh->errstr;
@@ -524,7 +526,7 @@ C<FUSE (Filesystem in USErspace)> website
 L<http://sourceforge.net/projects/avf>
 
 Example for WebGUI which comes with this distribution in
-directory L<examples/webgui.pl>. It also contains a lot of documentation
+directory C<examples/webgui.pl>. It also contains a lot of documentation
 about design of this module, usage and limitations.
 
 =head1 AUTHOR