Changeset 1610

Show
Ignore:
Timestamp:
07/07/08 09:02:52 (2 months ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r1609 r1610  
     12008-07-07  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * cherokee/iocache.c (iocache_entry_maybe_update_mmap): 
     4        Rewritten. It fixes an unusual bug. 
     5 
    162008-07-06  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
    27 
  • cherokee/trunk/cherokee/iocache.c

    r1594 r1610  
    321321iocache_entry_maybe_update_mmap (cherokee_iocache_t *iocache, cherokee_iocache_entry_t *entry, cherokee_buffer_t *filename, int fd, int *ret_fd) 
    322322{ 
    323         cherokee_boolean_t update
     323        cherokee_boolean_t update = true
    324324 
    325325        /* Update mmap only if.. 
     
    328328         *   - It is old 
    329329         */ 
    330         update  = (entry->mmaped == NULL); 
    331         update |= (iocache->srv->bogo_now >= (PRIV(entry)->mmap_update + FRESHNESS_TIME_MMAP)); 
    332         update &= (PRIV(entry)->ref_counter <= 1); 
     330        if (entry->mmaped != NULL) { 
     331                if (PRIV(entry)->ref_counter > 1) 
     332                        update = false; 
     333                else if (iocache->srv->bogo_now < (PRIV(entry)->mmap_update + FRESHNESS_TIME_MMAP)) 
     334                        update = false; 
     335        } 
    333336 
    334337        if (! update)