From 15087892c95feb07419c5a13fa6da162198cf77a Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Sun, 6 Jul 2003 02:03:16 +0000 Subject: [PATCH] r5242: *** empty log message *** --- README | 11 +++++++--- debian/changelog | 6 ++++++ impl-acl.lisp | 55 ------------------------------------------------ impl-clisp.lisp | 18 ---------------- 4 files changed, 14 insertions(+), 76 deletions(-) delete mode 100644 impl-acl.lisp delete mode 100644 impl-clisp.lisp diff --git a/README b/README index 724d175..2615687 100644 --- a/README +++ b/README @@ -1,4 +1,9 @@ -This is a a thin-layer providing the Lisp side of the -interface to Marc Battyani's mod_lisp apache module -(http://www.fractalconcept.com). +This package provided the Lisp side of the interface to Marc +Battyani's mod_lisp apache module (http://www.fractalconcept.com). + +It has robust support for multiprocessing and for keeping track +of worker processes to allow for cleaning shutting down the server. + + + diff --git a/debian/changelog b/debian/changelog index bf0fef4..2b8792c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-modlisp (0.2-1) unstable; urgency=low + + * New version + + -- Kevin M. Rosenberg Sat, 5 Jul 2003 19:58:31 -0600 + cl-modlisp (0.1-1) unstable; urgency=low * First upload diff --git a/impl-acl.lisp b/impl-acl.lisp deleted file mode 100644 index 48f30e3..0000000 --- a/impl-acl.lisp +++ /dev/null @@ -1,55 +0,0 @@ -;;; -*- Mode:Lisp; Syntax:Common-lisp; Package: modlisp; Base:10 -*- - -(in-package #:modlisp) - -(eval-when (compile load eval) - (require :socket)) - -(defun make-socket-server (name function port &key wait (format :text)) - (let* ((listener (socket:make-socket - :connect :passive - :local-port port - :address-family - (if (stringp port) - :file - (if (or (null port) (integerp port)) - :internet - (error "illegal value for port: ~s" port))) - :format format)) - (proc (mp::process-run-function name - #'(lambda () - (start-socket-server listener function - :wait wait))))) - (values proc listener))) - -(defun start-socket-server (passive-socket function &key wait) - ;; internal function run in the server lightweight process - ;; that continually processes the connection. - ;; This code is careful to ensure that the sockets are - ;; properly closed something abnormal happens. - (unwind-protect - (loop - (let ((connection (socket:accept-connection passive-socket))) - (if wait - (unwind-protect - (funcall connection function) - (excl:errorset (close connection) nil)) - (let ((f function) - (c connection) - (name (next-worker-name))) - (mp:process-run-function - name - #'(lambda () - (unwind-protect - (apache-command-issuer connection function) - #+ignore - (handler-case - (apache-command-issuer function connection) - (error (e) - #+ignore - (format t "~&Error ~A [~A]~%" e name)) - (:no-error () - #+ignore - (format t "~&~A ended" name))) - (excl:errorset (close connection) nil)))))))) - (ignore-errors (close passive-socket)))) diff --git a/impl-clisp.lisp b/impl-clisp.lisp deleted file mode 100644 index d6ba39c..0000000 --- a/impl-clisp.lisp +++ /dev/null @@ -1,18 +0,0 @@ -;;; -*- Mode:Lisp; Syntax:Common-lisp; Package: modlisp; Base:10 -*- - -(in-package #:modlisp) - -(defun make-socket-server (name port function &key wait (format :text)) - (declare (ignore name)) - (let ((passive-socket (ext:socket-server port))) - (values (start-socket-server passive-socket function :wait wait) - passive-socket))) - -(defun start-socket-server (passive-socket function &key wait) - (unwind-protect - (loop - (let ((connection (ext:socket-accept passive-socket))) - (unwind-protect - (apache-command-issuer connection function) - (ignore-errors (close connection))))) - (ignore-errors (close passive-socket)))) -- 2.34.1