From: Sven V. C. <sv...@be...> - 2003-11-18 08:39:45
|
On 18 Nov 2003, at 07:28, John DeSoi wrote: > On Monday, November 17, 2003, at 04:03 AM, Sven Van Caekenberghe wrote: > >> It seems there is a problem handling connection reset errors in >> OpenMCL 0.14-031108, >> using the latest CVS version of paserve: >> >> Error in process 1-aserve-worker(2): Slot ACL-COMPAT.EXCL::IDENTIFIER >> is unbound in #<CCL::SIMPLE-STREAM-ERROR #x5616E36> >> While executing: #<CCL::STANDARD-KERNEL-METHOD SLOT-UNBOUND (T T T)> > > I don't see any difference in the last round of changes for 0.14 that > would seem to account for the problem. For now, I think the best way > to fix it is to provide a default value for the identifier slot. If > there is any kind of stream-error, the http-worker-thread function > tries to see if it is a connection reset error. Try adding ":initform > nil" for the identifier slot in the define-condition form below (from > acl-excl.lisp). Then you should be able to determine if it is really a > connection reset error or something else. Yes John, Changing the condition definition to (define-condition stream-error (error) ((stream :initarg :stream :reader stream-error-stream) (action :initarg :action :reader stream-error-action) (code :initarg :code :reader stream-error-code) (identifier :initarg :identifier :reader stream-error-identifier :initform nil)) (:report (lambda (condition stream) (format stream "A stream error occured (action=~A identifier=~A code=~A stream=~S)." (stream-error-action condition) (stream-error-identifier condition) (stream-error-code condition) (stream-error-stream condition))))) adding the :initform nil makes the problem go away. Thx, Sven |