dgaudet     97/08/03 19:55:12

  Modified:    src       http_protocol.c
  Log:
  Change set_last_modified to something that Roy and I are both happy with.
  
  Reviewed by:  Roy Fielding
  
  Revision  Changes    Path
  1.149     +9 -3      apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.148
  retrieving revision 1.149
  diff -u -r1.148 -r1.149
  --- http_protocol.c   1997/08/03 21:35:58     1.148
  +++ http_protocol.c   1997/08/04 02:55:11     1.149
  @@ -350,10 +350,16 @@
   {
       char *etag, weak_etag[MAX_STRING_LEN];
       char *if_match, *if_modified_since, *if_unmodified, *if_nonematch;
  -    time_t now = time(NULL);
  +    time_t now;
   
  -    if (now < 0)
  -     now = r->request_time;
  +    /* For all static responses, it's almost certain that the file was
  +     * last modified before the beginning of the request.  So there's
  +     * no reason to call time(NULL) again.  But if the response has been
  +     * created on demand, then it might be newer than the time the request
  +     * started.  In this event we really have to call time(NULL) again
  +     * so that we can give the clients the most accurate Last-Modified.
  +     */
  +    now = (mtime <= r->request_time) ? r->request_time : time(NULL);
   
       table_set(r->headers_out, "Last-Modified",
                 gm_timestr_822(r->pool, (mtime > now) ? now : mtime));
  
  
  

Reply via email to