[Openmcl-devel] CCL 1.2 and portable allegroserve - can't restart server

JTK jetmonk at gmail.com
Wed Sep 17 02:23:10 PDT 2008

Hello again,

I've found that the problem of un-restartable portable allegroserve
can be 'solved' by removing a  line in aserve/main.cl  in which
a list of worker threads is killed:

    (dolist (th (wserver-worker-threads server))
     #+nil(acl-compat.mp:process-kill th) ;; get rid of this

One finds that (acl-compat.mp:process-kill th) is just a an alias for  
(ccl:process-kill th)

Evidently, killing threads breaks something.

Is it safe just to remove references to the worker processes  and
let the garbage collector clean them up?  That is,
(setf (wserver-worker-threads server) nil).

The problem is that the gc doesn't seem to reduce the processes left
behind by starting/stopping the server now, and the length of
(ccl:all-processes) just grows with the number of restarts even after
doing (gc)  between restarts.

Sorry about these aserve questions, but it seems like the aserve
list is dead, and this involves some subtle internals of CCL.


On Sep 16, 2008, at 9:57 PM, JTK wrote:

> Hello,
> I'm running CCL 1.2-r10552 PPC 32 and the latest CVS portableaserve
> (pretty old).
> This is on a G5 Mac with OS X 10.4.11
> I find that I can't restart the server. The first start works fine,
> but the subsequent ones freeze.
> eg:
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> (net.aserve:start :port 8000)
> ;; server works OK
> (net.aserve:shutdown)
> ;; server stopped OK - no connections accepted
> (net.aserve:start :port 8000)
> ;; server now accepting connections, but the connection freezes
> ;; no log output appears.  A restarted server never works.
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> I'm a bit stuck. Is anyone else using portable aserve?  Has anyone had
> success?  Or is
> there an updated version of aserve somewhere?  The aserve mail list
> is all spam, alas.
> Many thanks,
> Jan

More information about the Openmcl-devel mailing list