r5240: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sat, 5 Jul 2003 22:59:56 +0000 (22:59 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sat, 5 Jul 2003 22:59:56 +0000 (22:59 +0000)
base.lisp
impl-cmucl.lisp [deleted file]
impl-sbcl.lisp [deleted file]
modlisp.asd

index 649d82f254d23ad400c65f0aa455737016372763..a72ac57270b84aabc7fdc0738f3f523519f19787 100644 (file)
--- a/base.lisp
+++ b/base.lisp
@@ -7,22 +7,11 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Dec 2002
 ;;;;
-;;;; $Id: base.lisp,v 1.4 2003/07/05 22:54:00 kevin Exp $
+;;;; $Id: base.lisp,v 1.5 2003/07/05 22:59:56 kevin Exp $
 ;;;; *************************************************************************
 
 (in-package #:modlisp)
 
-(defun destroy-process (process)
-  #+sbcl (sb-thread:destroy-thread process)
-  #+cmucl (mp:destroy-process process)
-  #+allegro (mp:process-kill process)
-  #+lispworks (mp:process-kill process)
-  )
-
-(defun close-socket (sock)
-  (ignore-errors (close sock)))
-
-
 (defun modlisp-start (&key (port +default-apache-port+)
                           (function 'demo-apache-command-processor)
                           (function-args nil))
@@ -46,7 +35,7 @@
     (cmsg "listener is NIL in modlisp-stop")
     (return-from modlisp-stop))
   (dolist (worker (workers listener))
-    (close-socket (socket worker))
+    (close-active-socket (socket worker))
     (destroy-process (process worker)))
   (setf (workers listener) nil)
   (with-slots (process socket) listener
@@ -55,7 +44,7 @@
       (error (e)
        (format t "~&Error while trying to kill modlisp server~&  ~A" e)))
     (when socket
-      (ignore-errors (close-socket socket))))
+      (ignore-errors (close-passive-socket socket))))
   (setq *active-listeners* (remove listener *active-listeners*)))
     
 (defun next-server-name ()
diff --git a/impl-cmucl.lisp b/impl-cmucl.lisp
deleted file mode 100644 (file)
index c98a05e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-;;; -*- Mode:Lisp; Syntax:Common-lisp; Package: modlisp; Base:10 -*-
-
-(in-package #:modlisp)
-
-
-(defun make-socket-server (name function port &key wait (format :text))
-  (let ((listener (ext:create-inet-listener port)))
-  (values
-   (mp:make-process
-    (lambda () (start-socket-server listener function))
-    :name name)
-   listener)))
-
-(defun start-socket-server (listener function)
-  (unwind-protect
-       (loop
-       (mp:process-wait-until-fd-usable listener :input)
-       (multiple-value-bind (new-fd remote-host)
-           (ext:accept-tcp-connection listener)
-         (let ((stream (sys:make-fd-stream new-fd :input t :output t)))
-           (mp:make-process
-            (lambda () (apache-command-issuer stream function))
-            :name (next-worker-name)))))
-    (unix:unix-close listener)))
diff --git a/impl-sbcl.lisp b/impl-sbcl.lisp
deleted file mode 100644 (file)
index 2b43d8e..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; -*- Mode:Lisp; Syntax:Common-lisp; Package: modlisp; Base:10 -*-
-
-(in-package #:modlisp)
-
-(defun make-socket-server (name function port &key wait format)
-  (declare (ignore name))
-  (let ((listener (listen-to-inet-port :port port :reuse 1)))
-    (values
-     (sb-thread:make-thread
-      (lambda () (start-socket-server listener function)))
-     listener)))
-
-
-(defun start-socket-server (listener function)
-  (handler-case
-      (when (sb-sys:wait-until-fd-usable
-            (sb-bsd-sockets:socket-file-descriptor listener) :input)
-       (unwind-protect
-            (loop
-             (let* ((socket (sb-bsd-sockets:socket-accept listener))
-                    (stream (sb-bsd-sockets:socket-make-stream 
-                             socket 
-                             :element-type 'base-char
-                             :input t :output t)))
-               (sb-thread:make-thread 
-                #'(lambda () (apache-command-issuer stream function)))))
-         (sb-unix:unix-close
-          (sb-bsd-sockets:socket-file-descriptor listener))))
-    (sb-kernel::timeout (c)
-      (format t "interrupted, time to die~%"))))
-
-(defun listen-to-inet-port (&key (port 0) (kind :stream) (reuse nil))
-  "Create, bind and listen to an inet socket on *:PORT.
-setsockopt SO_REUSEADDR if :reuse is not nil"
-  (let ((socket (make-instance 'sb-bsd-sockets:inet-socket
-                              :type :stream
-                              :protocol :tcp)))
-    (if reuse
-        (setf (sb-bsd-sockets:sockopt-reuse-address socket) t))
-    (sb-bsd-sockets:socket-bind 
-     socket (sb-bsd-sockets:make-inet-address "0.0.0.0") port)
-    (sb-bsd-sockets:socket-listen socket 15)
-    socket))
-
index a89d61ceaddf2daaaa2cb89acd289680c548fddd..73a701d07a768ffb5d39da401d2e48a236cc6dc1 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Dec 2002
 ;;;;
-;;;; $Id: modlisp.asd,v 1.4 2003/07/05 22:54:00 kevin Exp $
+;;;; $Id: modlisp.asd,v 1.5 2003/07/05 22:59:56 kevin Exp $
 ;;;; *************************************************************************
 
 (in-package #:cl-user)
     :depends-on (:kmrcl)
     :components
     ((:file "package")
-     (:file "variables" :depends-on ("package"))
      (:file "compat" :depends-on ("package"))
+     (:file "variables" :depends-on ("package"))
      (:file #+(or allegro cmu sbcl) "server"
            #+clisp "impl-clisp"
            #+lispworks "impl-lispworks"
-           :depends-on ("compat"))
+           :depends-on ("compat" "variables"))
      (:file "base"
            :depends-on (#+(or allegro cmu sbcl) "server"
                         #+clisp "impl-clisp"