Revision: 4257 Author: edi URL: http://bknr.net/trac/changeset/4257
Some fixes
U trunk/thirdparty/hunchentoot/acceptor.lisp U trunk/thirdparty/hunchentoot/packages.lisp U trunk/thirdparty/hunchentoot/ssl.lisp U trunk/thirdparty/hunchentoot/taskmaster.lisp
Modified: trunk/thirdparty/hunchentoot/acceptor.lisp =================================================================== --- trunk/thirdparty/hunchentoot/acceptor.lisp 2009-02-16 12:05:37 UTC (rev 4256) +++ trunk/thirdparty/hunchentoot/acceptor.lisp 2009-02-16 14:18:15 UTC (rev 4257) @@ -123,7 +123,7 @@ :name (gensym) :request-class 'request :handler-selector 'list-handler-selector - :taskmaster (make-instance (cond (*supports-threads-p* 'one-thread-per-taskmaster) + :taskmaster (make-instance (cond (*supports-threads-p* 'one-thread-per-connection-taskmaster) (t 'single-threaded-taskmaster))) :output-chunking-p t :input-chunking-p t @@ -206,12 +206,12 @@ #-:lispworks (usocket:socket-close (acceptor-listen-socket acceptor)))
-(defmethod initialize-connection-stream (acceptor stream) +(defmethod initialize-connection-stream ((acceptor acceptor) stream) (declare (ignore acceptor)) ;; default method does nothing stream)
-(defmethod reset-connection-stream (acceptor stream) +(defmethod reset-connection-stream ((acceptor acceptor) stream) (declare (ignore acceptor)) ;; turn chunking off at this point (cond ((typep stream 'chunked-stream)
Modified: trunk/thirdparty/hunchentoot/packages.lisp =================================================================== --- trunk/thirdparty/hunchentoot/packages.lisp 2009-02-16 12:05:37 UTC (rev 4256) +++ trunk/thirdparty/hunchentoot/packages.lisp 2009-02-16 14:18:15 UTC (rev 4257) @@ -182,6 +182,7 @@ "MIME-TYPE" "NEXT-SESSION-ID" "NO-CACHE" + "ONE-THREAD-PER-CONNECTION-TASKMASTER" "PARAMETER" "POST-PARAMETER" "POST-PARAMETERS" @@ -232,6 +233,7 @@ "SET-COOKIE" "SET-COOKIE*" "SHUTDOWN" + "SINGLE-THREADED-TASKMASTER" "SSL-ACCEPTOR" "SSL-P" "START"
Modified: trunk/thirdparty/hunchentoot/ssl.lisp =================================================================== --- trunk/thirdparty/hunchentoot/ssl.lisp 2009-02-16 12:05:37 UTC (rev 4256) +++ trunk/thirdparty/hunchentoot/ssl.lisp 2009-02-16 14:18:15 UTC (rev 4257) @@ -104,4 +104,4 @@ (make-ssl-server-stream stream :certificate-file (acceptor-ssl-certificate-file acceptor) :privatekey-file (acceptor-ssl-privatekey-file acceptor) - :privatekey-password (acceptor-ssl-privatekey-password acceptor)))) \ No newline at end of file + :privatekey-password (acceptor-ssl-privatekey-password acceptor))))
Modified: trunk/thirdparty/hunchentoot/taskmaster.lisp =================================================================== --- trunk/thirdparty/hunchentoot/taskmaster.lisp 2009-02-16 12:05:37 UTC (rev 4256) +++ trunk/thirdparty/hunchentoot/taskmaster.lisp 2009-02-16 14:18:15 UTC (rev 4257) @@ -77,7 +77,7 @@ (defmethod handle-incoming-connection ((taskmaster single-threaded-taskmaster) socket) (process-connection (taskmaster-acceptor taskmaster) socket))
-(defclass one-thread-per-taskmaster (taskmaster) +(defclass one-thread-per-connection-taskmaster (taskmaster) ((acceptor-process :accessor acceptor-process :documentation "Process that accepts incoming connections and hands them off to new processes for request @@ -92,7 +92,7 @@ (defmethod shutdown ((taskmaster taskmaster)))
#-:lispworks -(defmethod shutdown ((taskmaster one-thread-per-taskmaster)) +(defmethod shutdown ((taskmaster one-thread-per-connection-taskmaster)) ;; just wait until the acceptor process has finished, then return (loop (unless (bt:thread-alive-p (acceptor-process taskmaster)) @@ -100,7 +100,7 @@ (sleep 1)))
#-:lispworks -(defmethod execute-acceptor ((taskmaster one-thread-per-taskmaster)) +(defmethod execute-acceptor ((taskmaster one-thread-per-connection-taskmaster)) (setf (acceptor-process taskmaster) (bt:make-thread (lambda () (accept-connections (taskmaster-acceptor taskmaster))) @@ -118,7 +118,7 @@ port))))
#-:lispworks -(defmethod handle-incoming-connection ((taskmaster one-thread-per-taskmaster) socket) +(defmethod handle-incoming-connection ((taskmaster one-thread-per-connection-taskmaster) socket) (bt:make-thread (lambda () (process-connection (taskmaster-acceptor taskmaster) socket)) :name (format nil "Hunchentoot worker (client: ~A)" (client-as-string socket)))) @@ -133,11 +133,11 @@ (mp:process-kill process)))
#+:lispworks -(defmethod execute-acceptor ((taskmaster one-thread-per-taskmaster)) +(defmethod execute-acceptor ((taskmaster one-thread-per-connection-taskmaster)) (accept-connections (taskmaster-acceptor taskmaster)))
#+:lispworks -(defmethod handle-incoming-connection ((taskmaster one-thread-per-taskmaster) handle) +(defmethod handle-incoming-connection ((taskmaster one-thread-per-connection-taskmaster) handle) (incf *worker-counter*) ;; check if we need to perform a global GC (when (and *cleanup-interval*