Revision: 4524 Author: edi URL: http://bknr.net/trac/changeset/4524
Fix breakage of LW version
U trunk/thirdparty/hunchentoot/conditions.lisp U trunk/thirdparty/hunchentoot/doc/index.xml U trunk/thirdparty/hunchentoot/packages.lisp U trunk/thirdparty/hunchentoot/specials.lisp
Modified: trunk/thirdparty/hunchentoot/conditions.lisp =================================================================== --- trunk/thirdparty/hunchentoot/conditions.lisp 2010-03-31 13:41:11 UTC (rev 4523) +++ trunk/thirdparty/hunchentoot/conditions.lisp 2010-04-07 06:45:06 UTC (rev 4524) @@ -90,55 +90,15 @@ "Used to signal an error if an operation named NAME is not implemented." (error 'operation-not-implemented :operation name))
-(defun kill-all-debugging-threads () - "Used for destroy all debugging threads" - (with-lock-held (*debugging-threads-lock*) - (dolist (thread *debugging-threads*) - (when (ignore-errors - (bt:destroy-thread thread) - t) - (setf *debugging-threads* - (remove thread *debugging-threads*)))))) - -(defun debug-mode-on () - "Used to enable debug mode" - (setf *catch-errors-p* nil)) - -(defun debug-mode-off (&optional (kill-debugging-threads t)) - "Used to turn off debug mode" - (setf *catch-errors-p* t) - (when kill-debugging-threads - (kill-all-debugging-threads))) - -(defun after-close-swank-connection (connection) - "Turns off debug mode and destroy debugging threads after closing the connection with the swank-server" - (declare (ignore connection)) - (debug-mode-off t)) - -(when (find-package :swank) - (ignore-errors - (eval `(,(find-symbol (string '#:add-hook) :swank) - ,(find-symbol (string '#:*connection-closed-hook*) :swank) - 'after-close-swank-connection)))) - (defgeneric maybe-invoke-debugger (condition) (:documentation "This generic function is called whenever a condition CONDITION is signaled in Hunchentoot. You might want to specialize it on specific condition classes for debugging purposes.") (:method (condition) - "The default method invokes the debugger with CONDITION if + "The default method invokes the debugger with CONDITION if *CATCH-ERRORS-P* is NIL." - (unless (or *catch-errors-p* - (<= *max-debugging-threads* - (length *debugging-threads*))) - (let ((thread (bt:current-thread))) - (with-lock-held (*debugging-threads-lock*) - (push thread *debugging-threads*)) - (unwind-protect - (invoke-debugger condition) - (with-lock-held (*debugging-threads-lock*) - (setf *debugging-threads* - (remove thread *debugging-threads*)))))))) + (unless *catch-errors-p* + (invoke-debugger condition))))
(defmacro with-debugger (&body body) "Executes BODY and invokes the debugger if an error is signaled and
Modified: trunk/thirdparty/hunchentoot/doc/index.xml =================================================================== --- trunk/thirdparty/hunchentoot/doc/index.xml 2010-03-31 13:41:11 UTC (rev 4523) +++ trunk/thirdparty/hunchentoot/doc/index.xml 2010-04-07 06:45:06 UTC (rev 4524) @@ -152,12 +152,6 @@ <a href="http://common-lisp.net/~loliveira/ediware/">http://common-lisp.net/~loliveira/ediware/</a>. </p>
- <p> - Andrey Moskvitin maintains a <a href="http://git-scm.com/">git</a> - repository of Hunchentoot at - <a href="http://github.com/archimag/hunchentoot">http://github.com/archimag/hunchentoot</a>. - </p> - <clix:subchapter name="proxy" title="Hunchentoot behind a proxy">
If you're feeling unsecure about exposing Hunchentoot to the wild, @@ -2652,45 +2646,6 @@ </clix:description> </clix:special-variable>
- <clix:function name='debug-mode-on'> - clix:description -Enable debug mode: sets the value of clix:ref*CATCH-ERRORS-P*</clix:ref> to <code>NIL</code>. - </clix:description> - </clix:function> - - <clix:function name='debug-mode-off'> - clix:lambda-listclix:lkwoptional</clix:lkw> kill-debugging-threads - </clix:lambda-list> - clix:description -Disable debug mode: sets the value -of clix:ref*CATCH-ERRORS-P*</clix:ref> to <code>T</code>. If the -value of clix:argkill-debugging-threads</clix:arg> -is <code>T</code>, which is the default, all threads that are sent to -the debugger by clix:refMAYBE-INVOKE-DEBUGGER</clix:ref> will be -terminated. If -a <a href="http://common-lisp.net/project/slime/">swank</a> server is -present, <code>(debug-mode-off t)</code> will be automatically be -called after the connection to the swank server is established: this -provides some protection when debug mode has accidentially been -enabled in a production environment. - </clix:description> - </clix:function> - - <clix:special-variable name='*max-debugging-threads*'> - clix:description -This variable determines the maximum number of threads that are sent -to -the <a href="http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_d.htm#debugger">debugger</a> -by clix:refMAYBE-INVOKE-DEBUGGER</clix:ref>. The default for this -parameter is 5. Once this limit is -reached, clix:refMAYBE-INVOKE-DEBUGGER</clix:ref> does not invoke -the debugger for new threads that signal an error. This behavior can -be helpful for safer debugging a production environment. -See clix:refMAYBE-INVOKE-DEBUGGER</clix:ref> if you want to -fine-tune this behaviour. - </clix:description> - </clix:special-variable> - <clix:function generic='true' name='maybe-invoke-debugger'> clix:lambda-listcondition </clix:lambda-list> @@ -2705,9 +2660,7 @@ method <a href="http://www.lispworks.com/documentation/HyperSpec/Body/f_invoke.htm">invokes the debugger</a> with clix:argcondition</clix:arg> if -clix:ref*CATCH-ERRORS-P*</clix:ref> is <code>NIL</code> and the number of active <a -href="http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_d.htm#debugger%...</a> -is less than clix:ref*MAX-DEBUGGING-THREADS*</clix:ref>. +clix:ref*CATCH-ERRORS-P*</clix:ref> is <code>NIL</code>. </clix:description> </clix:function>
Modified: trunk/thirdparty/hunchentoot/packages.lisp =================================================================== --- trunk/thirdparty/hunchentoot/packages.lisp 2010-03-31 13:41:11 UTC (rev 4523) +++ trunk/thirdparty/hunchentoot/packages.lisp 2010-04-07 06:45:06 UTC (rev 4524) @@ -62,7 +62,6 @@ "*LOG-LISP-BACKTRACES-P*" "*LOG-LISP-ERRORS-P*" "*LOG-LISP-WARNINGS-P*" - "*MAX-DEBUGGING-THREADS*" "*MESSAGE-LOG-PATHNAME*" "*METHODS-FOR-POST-PARAMETERS*" "*REPLY*" @@ -265,7 +264,5 @@ "URL-DECODE" "URL-ENCODE" "USER-AGENT" - "WITHIN-REQUEST-P" - "DEBUG-MODE-ON" - "DEBUG-MODE-OFF")) + "WITHIN-REQUEST-P"))
Modified: trunk/thirdparty/hunchentoot/specials.lisp =================================================================== --- trunk/thirdparty/hunchentoot/specials.lisp 2010-03-31 13:41:11 UTC (rev 4523) +++ trunk/thirdparty/hunchentoot/specials.lisp 2010-04-07 06:45:06 UTC (rev 4524) @@ -236,16 +236,6 @@ "Whether Hunchentoot should catch and log errors (or rather invoke the debugger).")
-(defparameter *max-debugging-threads* 5 - "Maximum number of simultaneous active calls invoke-debuger") - -(defvar *debugging-threads* nil - "List debugged threads") - -(defvar *debugging-threads-lock* (make-lock "debugging threads lock") - "A global lock to prevent two threads from modifying *debugging-threads* at -the same time") - (defvar-unbound *acceptor* "The current ACCEPTOR object while in the context of a request.")