guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-13-132-ga


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-13-132-gadcd585
Date: Mon, 06 Dec 2010 11:54:48 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=adcd58543c110f58d681e80c8e4e76d1f7f34577

The branch, master has been updated
       via  adcd58543c110f58d681e80c8e4e76d1f7f34577 (commit)
       via  b500ced6b8562112a28d2015bf9af1e808caa9bf (commit)
      from  4164be30d3a198c3c9cc1e464d01cb37dc8f8fc2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit adcd58543c110f58d681e80c8e4e76d1f7f34577
Author: Andy Wingo <address@hidden>
Date:   Mon Dec 6 12:58:16 2010 +0100

    fix entity tag writing
    
    * module/web/http.scm (write-entity-tag): Fix writing of entity tags
      (strong versus weak).

commit b500ced6b8562112a28d2015bf9af1e808caa9bf
Author: Andy Wingo <address@hidden>
Date:   Mon Dec 6 11:24:48 2010 +0100

    more robustness in http-read
    
    * module/web/server/http.scm (http-read): If there was an error reading
      the request, be sure to close the request port.

-----------------------------------------------------------------------

Summary of changes:
 module/web/http.scm        |    2 +-
 module/web/server/http.scm |   17 +++++++++++------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/module/web/http.scm b/module/web/http.scm
index 2ebdb3b..bf54b23 100644
--- a/module/web/http.scm
+++ b/module/web/http.scm
@@ -573,7 +573,7 @@
        (string? (car val))))
 
 (define (write-entity-tag val port)
-  (if (cdr val)
+  (if (not (cdr val))
       (display "W/" port))
   (write-qstring (car val) port))
 
diff --git a/module/web/server/http.scm b/module/web/server/http.scm
index 1eefc0a..bddbafa 100644
--- a/module/web/server/http.scm
+++ b/module/web/server/http.scm
@@ -113,12 +113,17 @@
               ;; Otherwise, try to read a request from this port.
               ;; Record the next index.
               (set-http-poll-idx! server (1- idx))
-              (let ((req (read-request port)))
-                ;; Block buffering for reading body and writing response.
-                (setvbuf port _IOFBF)
-                (values port
-                        req
-                        (read-request-body/bytevector req))))))))))))
+              (with-throw-handler
+               #t
+               (lambda ()
+                 (let ((req (read-request port)))
+                   ;; Block buffering for reading body and writing response.
+                   (setvbuf port _IOFBF)
+                   (values port
+                           req
+                           (read-request-body/bytevector req))))
+               (lambda (k . args)
+                 (false-if-exception (close-port port)))))))))))))
 
 (define (keep-alive? response)
   (let ((v (response-version response)))


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]