[armedbear-devel] [armedbear-cvs] r13530 - trunk/abcl/src/org/armedbear/lisp
Ville Voutilainen
ville.voutilainen at gmail.com
Mon Aug 22 10:22:32 UTC 2011
On 22 August 2011 12:52, <mevenson at common-lisp.net> wrote:
> Author: mevenson
> Date: Mon Aug 22 02:52:28 2011
> New Revision: 13530
>
> Log:
> All LispThread objects can act on a ProcessingTerminated exception.
> Without this modifications, threads created with the
> THREADS:MAKE-THREADS cannot successfully call the EXT:QUIT or EXT:EXIT
> functions. This prevented the SLIME quit implementation from
> successfully quitting implementations.
> Note that all threads can always execute a form like
> (jstatic "exit" "java.lang.System" 0)
> to uncermoniously exit the JVM, so there is nothing gained
> security-wise by preventing threads from using the official Lisp
> interfaces.
> + catch (ProcessingTerminated e) {
> + System.exit(e.getStatus());
> + }
This looks.. ..unfortunate. We should not get into a situation where a
LispThread
catches this exception, the exception is supposed to be used for terminating
the repl if it can't load. It's fine as a stopgap measure, but exit
requests from
threads shouldn't end up throwing that exception.
More information about the armedbear-devel
mailing list