s4/pvfs: use monotonic time for this timeout
authorBjörn Jacke <bj@sernet.de>
Fri, 10 Sep 2010 18:46:10 +0000 (20:46 +0200)
committerBjörn Jacke <bj@sernet.de>
Fri, 10 Sep 2010 21:10:26 +0000 (23:10 +0200)
source4/ntvfs/posix/pvfs_search.c
source4/ntvfs/posix/vfs_posix.h

index e6b53ee623b60b2bb17afa3573677950132a9b50..a050de1ec38d68cc122181e63c30fd7b16cf6922 100644 (file)
@@ -291,7 +291,7 @@ static NTSTATUS pvfs_search_fill(struct pvfs_state *pvfs, TALLOC_CTX *mem_ctx,
 static void pvfs_search_cleanup(struct pvfs_state *pvfs)
 {
        int i;
-       time_t t = time(NULL);
+       time_t t = time_mono(NULL);
 
        for (i=0;i<MAX_OLD_SEARCHES;i++) {
                struct pvfs_search_state *search;
@@ -379,7 +379,7 @@ static NTSTATUS pvfs_search_first_old(struct ntvfs_module_context *ntvfs,
        search->current_index = 0;
        search->search_attrib = search_attrib & 0xFF;
        search->must_attrib = (search_attrib>>8) & 0xFF;
-       search->last_used = time(NULL);
+       search->last_used = time_mono(NULL);
        search->te = NULL;
 
        DLIST_ADD(pvfs->search.list, search);
@@ -437,7 +437,7 @@ static NTSTATUS pvfs_search_next_old(struct ntvfs_module_context *ntvfs,
        if (!NT_STATUS_IS_OK(status)) {
                return status;
        }
-       search->last_used = time(NULL);
+       search->last_used = time_mono(NULL);
 
        status = pvfs_search_fill(pvfs, req, max_count, search, io->generic.data_level,
                                  &reply_count, search_private, callback);
index 70e4c90d7a7aebfb68ee0306a0a5748b95df8be1..d60369df5016e312071e1a80c679fcf829e551da 100644 (file)
@@ -224,7 +224,7 @@ struct pvfs_search_state {
        uint16_t search_attrib;
        uint16_t must_attrib;
        struct pvfs_dir *dir;
-       time_t last_used;
+       time_t last_used; /* monotonic clock time */
        unsigned int num_ea_names;
        struct ea_name *ea_names;
        struct tevent_timer *te;