- (unless listener
- (cmsg "listener is NIL in modlisp-stop")
- (return-from modlisp-stop))
- (dolist (worker (workers listener))
- (close-socket (socket worker))
- (destroy-process (process worker)))
- (setf (workers listener) nil)
- (with-slots (process socket) listener
- (handler-case
- (destroy-process process)
- (error (e)
- (format t "~&Error while trying to kill modlisp server~& ~A" e)))
- (when socket
- (ignore-errors (close-socket socket))))
- (setq *active-listeners* (remove listener *active-listeners*)))
-
-(defun next-server-name ()
- (format nil "modlisp-socket-server-~d" (incf *listener-count*)))