[Openmcl-devel] Cockpit Error using SAVE-APPLICATION?
j-anthony at comcast.net
j-anthony at comcast.net
Fri Nov 7 09:01:49 PST 2008
>At one point in the not-too-recent past, it was
>...
>I think that that's fixed (in that the initialization happens in
>the :before method on CCL::APPLICATION and it's no longer necessary
Yes, this certainly seems to be true. The :before method seems to work
well here.
>As far as your code goes:
>
>I think that it's still true that your function will run on the initial
>thread. If that code writes to *TERMINAL-IO*, output to that stream
>may need to be explicitly flushed (via FORCE-OUTPUT).
Yes, as it sits this is true.
>The single thread will own the right to read from the input side of
>*TERMINAL-IO*.
What are the practical ramifications of this?
>You can get that (and the automatic flushing of output to *TERMINAL-IO*)
>to happen by starting a thread to run CCL::HOUSEKEEPING-LOOP. That
>wont add too much overhead (the thread will spend 99+% of its time
>sleeping.)
>
>(defmethod ccl::toplevel-function ((a aprigo-application) x)
...
> (PROCESS-RUN-FUNCTION "background" #'CCL::HOUSEKEEPING-LOOP)
Is this basically equivalent to what
(defmethod toplevel-function ((a lisp-development-system) init-file)
does with the last two things it does:
(%set-toplevel #'housekeeping-loop)
(toplevel)
Or maybe it is just the %set-toplevel call that equates to your
"background" process example above? (Actually, (toplevel) is a bit of a
mystery to me - I tried tracking it down a bit but seems to involve some
sort of "throw :toplevel ... catch :toplevel" idiom/technique.)
>Ideally, it'd be possible to easily define -some- methods on
>a subclass of CCL::LISP-DEVELOPMENT-SYSTEM so that everything
>but the invocation of the REPL happened via the superclass's
>methods and you just ran some other code instead of the
Wouldn't this basically be what the standard toplevel does in creating the
listener process with the call:
(startup-ccl (and *load-lisp-init-file* init-file))
And then you would not follow this with the call it also does:
(listener-function).
Sounds a bit hacky, but would this pretty much do the whole thing except
the REPL?
/Jon
--------------------------------------------------------------------
mail2web.com - Microsoft® Exchange solutions from a leading provider -
http://link.mail2web.com/Business/Exchange
More information about the Openmcl-devel
mailing list