[bknr-cvs] edi changed trunk/thirdparty/hunchentoot/
BKNR Commits
bknr at bknr.net
Mon Feb 16 22:16:31 UTC 2009
Revision: 4261
Author: edi
URL: http://bknr.net/trac/changeset/4261
More documentation
U trunk/thirdparty/hunchentoot/compat.lisp
U trunk/thirdparty/hunchentoot/lispworks.lisp
U trunk/thirdparty/hunchentoot/set-timeouts.lisp
U trunk/thirdparty/hunchentoot/taskmaster.lisp
Modified: trunk/thirdparty/hunchentoot/compat.lisp
===================================================================
--- trunk/thirdparty/hunchentoot/compat.lisp 2009-02-16 21:53:06 UTC (rev 4260)
+++ trunk/thirdparty/hunchentoot/compat.lisp 2009-02-16 22:16:31 UTC (rev 4261)
@@ -99,10 +99,10 @@
(values (usocket:vector-quad-to-dotted-quad (usocket:get-peer-address socket))
(usocket:get-peer-port socket)))
-(defun make-socket-stream (socket server)
- "Returns a stream for the socket SOCKET. The SERVER argument is
+(defun make-socket-stream (socket acceptor)
+ "Returns a stream for the socket SOCKET. The ACCEPTOR argument is
ignored."
- (declare (ignore server))
+ (declare (ignore acceptor))
(usocket:socket-stream socket))
(defun make-lock (name)
Modified: trunk/thirdparty/hunchentoot/lispworks.lisp
===================================================================
--- trunk/thirdparty/hunchentoot/lispworks.lisp 2009-02-16 21:53:06 UTC (rev 4260)
+++ trunk/thirdparty/hunchentoot/lispworks.lisp 2009-02-16 22:16:31 UTC (rev 4261)
@@ -55,14 +55,23 @@
(defvar *cleanup-interval* 100
"Should be NIL or a positive integer. The system calls
-*CLEANUP-FUNCTION* whenever *CLEANUP-INTERVAL* new worker threads have
-been created unless the value is NIL.")
+*CLEANUP-FUNCTION* whenever *CLEANUP-INTERVAL* new worker threads
+\(counted globally across all acceptors) have been created unless the
+value is NIL. The initial value is 100.
+This variable is only available on LispWorks.")
+
(defvar *cleanup-function* 'cleanup-function
- "The function which is called if *CLEANUP-INTERVAL* is not NIL.")
+ "A designator for a function without arguments which is called on a
+regular basis if *CLEANUP-INTERVAL* is not NIL. The initial value is
+the name of a function which invokes a garbage collection on 32-bit
+versions of LispWorks.
+This variable is only available on LispWorks.")
+
(defvar *worker-counter* 0
- "Internal counter used to count worker threads.")
+ "Internal counter used to count worker threads. Needed for
+*CLEANUP-FUNCTION*.")
(defun cleanup-function ()
"The default for *CLEANUP-FUNCTION*. Invokes a GC on 32-bit
Modified: trunk/thirdparty/hunchentoot/set-timeouts.lisp
===================================================================
--- trunk/thirdparty/hunchentoot/set-timeouts.lisp 2009-02-16 21:53:06 UTC (rev 4260)
+++ trunk/thirdparty/hunchentoot/set-timeouts.lisp 2009-02-16 22:16:31 UTC (rev 4261)
@@ -29,21 +29,19 @@
(in-package :hunchentoot)
-;;; system specific implementation of the function that sets up
-;;; connection timeouts
-
(defun set-timeouts (usocket read-timeout write-timeout)
"Sets up timeouts on the given USOCKET object. READ-TIMEOUT is the
read timeout period, WRITE-TIMEOUT is the write timeout, specified in
-seconds. The timeouts can either be implemented using the low-level
-socket options SO_RCVTIMEO and SO_SNDTIMEO or some other,
-implementation specific mechanism. On platforms that do not support
-separate read and write timeouts, both must be equal or an error will
-be signaled. READ-TIMEOUT and WRITE-TIMEOUT may be NIL, which means
-that the corresponding socket timeout value will not be set."
+\(fractional) seconds. The timeouts can either be implemented using
+the low-level socket options SO_RCVTIMEO and SO_SNDTIMEO or some
+other, implementation specific mechanism. On platforms that do not
+support separate read and write timeouts, both must be equal or an
+error will be signaled. READ-TIMEOUT and WRITE-TIMEOUT may be NIL,
+which means that the corresponding socket timeout value will not be
+set."
(declare (ignorable usocket read-timeout write-timeout))
- #+:sbcl
;; add other Lisps here if necessary
+ #+(or :sbcl :cmu)
(unless (eql read-timeout write-timeout)
(parameter-error "Read and write timeouts for socket must be equal."))
#+:clisp
Modified: trunk/thirdparty/hunchentoot/taskmaster.lisp
===================================================================
--- trunk/thirdparty/hunchentoot/taskmaster.lisp 2009-02-16 21:53:06 UTC (rev 4260)
+++ trunk/thirdparty/hunchentoot/taskmaster.lisp 2009-02-16 22:16:31 UTC (rev 4261)
@@ -114,6 +114,8 @@
#-:lispworks
(defun client-as-string (socket)
+ "A helper function which returns the client's address and port as a
+string and tries to act robustly in the presence of network problems."
(let ((address (usocket:get-peer-address socket))
(port (usocket:get-peer-port socket)))
(when (and address port)
More information about the Bknr-cvs
mailing list