Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: problems running v. 70-190a with ACL 6.2: msg#00010

Subject: Re: problems running v. 70-190a with ACL 6.2
Hello Ben,

I see two definitions of %allocate-resource in cl-http
one in clim-sys;resources.lisp like
(defmethod %allocate-resource ((resource resource) args &aux newly-created-p)
   (with-slots (free-list) resource
       (flet ((create-object ()
                   (let* ((constructor (resource-constructor resource))
                             (object (apply constructor resource args)))
                      (with-atomic-execution
(vector-push-extend object (resource-pool resource)))
                      (setq newly-created-p t)
                      object)))
          (declare (inline create-object))
          ;; find an object
(let ((object (or (with-atomic-execution (pop free-list)) (create-object)))
                  (initializer (resource-initializer resource)))
             (when initializer
               (if (clim-sys-p resource)
                   (apply initializer object args)
                 (apply initializer resource object args)))
             (values object newly-created-p)))))

and a second in
mcl;server;resources.lisp
(defmethod %allocate-resource ((resource resource) args &aux newly-created-p)
   (with-slots (free-list) resource
       (flet ((create-object ()
                   (let* ((constructor (resource-constructor resource))
                             (object (apply constructor resource args)))
                      (with-atomic-execution
(vector-push-extend object (resource-pool resource)))
                      (setq newly-created-p t)
                      object)))
          (declare (inline create-object))
          ;; find an object
(let ((object (or (with-atomic-execution (pop free-list)) (create-object)))
                  (initializer (resource-initializer resource)))
             (when initializer
                 (apply initializer resource object args))
             (values object newly-created-p)))))

They only differ in the the form
(if (clim-sys-p resource)
                   (apply initializer object args)
                 (apply initializer resource object args))

In my environment the former definition is active since clim-sys is loaded before cl-http-sys

I would bet a glass of spanish cava that for some reason in your environment the clim-sys version of allocate resource is active. Either you use the mcl definition or change path-initialize-resourced-server to (defun patch-initialize-resourced-server (server set-stream set-host set-address) (initialize-resourced-server 'http-server server set-stream set-host set-address))

Hope that helps

Karsten




<Prev in Thread] Current Thread [Next in Thread>