;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Dec 2002
;;;;
-;;;; $Id: base.lisp,v 1.7 2003/07/08 14:00:53 kevin Exp $
+;;;; $Id: base.lisp,v 1.8 2003/07/08 16:12:03 kevin Exp $
;;;; *************************************************************************
(in-package #:modlisp)
(processor-args nil)
(catch-errors t))
(let ((listener (make-instance 'listener :port port
- :name (next-server-name)
+ :base-name "modlisp"
:function 'apache-command-issuer
:function-args (cons processor processor-args)
:format :text
:wait nil
:catch-errors catch-errors)))
- (handler-case
- (make-socket-server listener)
- (error (e)
- (format t "~&Error while trying to start modlisp server~& ~A" e)
- (decf *listener-count*)
- (values nil nil))
- (:no-error (res)
- (declare (ignore res))
- (push listener *active-listeners*)
- listener))))
-
+ (init/listener listener :start)))
+
+
(defun modlisp-stop (listener)
- (unless listener
- (cmsg "listener is NIL in modlisp-stop")
- (return-from modlisp-stop))
- (dolist (worker (workers listener))
- (close-active-socket (connection worker))
- (destroy-process (process worker)))
- (setf (workers listener) nil)
- (with-slots (process socket) listener
- (errorset (close-passive-socket socket) t)
- (errorset (destroy-process process) t))
- (setq *active-listeners* (remove listener *active-listeners*)))
+ (init/listener listener :stop))
(defun modlisp-stop-all ()
- (dolist (listener *active-listeners*)
- (ignore-errors
- (progn
- (modlisp-stop listener)
- (setq *active-listeners* (remove listener *active-listeners*))))))
-
-(defun next-server-name ()
- (format nil "modlisp-socket-server-~d" (incf *listener-count*)))
+ (stop-all/listener))
-(defun next-worker-name ()
- (format nil "modlisp-worker-~d" (incf *worker-count*)))
(let ((*number-server-requests* 0)
(*number-worker-requests* 0)