>>>>> "rif" == rif <[EMAIL PROTECTED]> writes:
rif> Error in function EXTENSIONS::FIND-A-PTY: Could not find a pty. rif> [Condition of type SIMPLE-ERROR] the RUN-PROGRAM tty code is rather gross; it uses old-style iterate-over-invented-names allocation, instead of the modern alternatives. But that's not the problem here. rif> There are NO currently running external processes, but I guess if I rif> kill the process from outside CMUCL, the pty's aren't released? Is rif> there a way to release them? you should always kill processes from within CMUCL, using EXT:PROCESS-KILL with signal 15 then 9, and then call EXT:PROCESS-CLOSE to free lisp resources used for the process (ttys in particular). rif> Normally I'd just kill CMUCL and start again, but I've got a ton of rif> important data in my running image, most of which I can't easily save rif> (I'd have to write lots of CLOS save method code in order to do it). first I would try iterating over EXT::*ACTIVE-PROCESSES* and call EXT:PROCESS-CLOSE on any dead processes. Otherwise it may help to use lsof on the CMUCL process to identify the file descriptors that are ptys, and call UNIX:UNIX-CLOSE on each one. -- Eric Marsden <URL:http://www.laas.fr/~emarsden/>
