On 22 August 2011 12:52, mevenson@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.
armedbear-devel@common-lisp.net