]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Sun, 6 Dec 2009 08:39:04 +0000 (08:39 +0000)
committerjsancho <devnull@localhost>
Sun, 6 Dec 2009 08:39:04 +0000 (08:39 +0000)
gacela.lisp

index 9f563895bb4d83a0eb754ad6569cd04c8abfe7ef..f207e4b237ffe2d6c8a1d9e2711647c138b18fab 100644 (file)
     (init-video-mode)
     (fill-surface screen (getf color :red) (getf color :green) (getf color :blue)))
 
-  (defun flip ()
-    (cond ((null screen) nil)
-         (t (SDL_Flip screen))))
-
   (defun quit-video-mode ()
     (setq screen nil)))
 
     (cond ((listen server-socket) (setq clients (cons (si::accept server-socket) clients)))))
 
   (defun eval-from-skin ()
-    
-    (when (si::listen socket)
-      (secure-block socket (eval (read socket)))))
-
-  (defun stop-skin-client ()
-    (when socket
-      (si::close socket)
-      (setq socket nil))))
+    (labels ((eval-clients (cli-socks)
+                          (cond (cli-socks
+                                 (let ((cli (car cli-socks)))
+                                   (cond ((si::listen cli)
+                                          (secure-block cli (eval (read cli)))
+                                          (si::close cli)
+                                          (eval-clients (cdr cli-socks)))
+                                         (t
+                                          (cons cli (eval-clients (cdr cli-socks))))))))))
+           (setq clients (eval-clients clients))))
+
+  (defun stop-skin-server ()
+    (cond (server-socket (si::close server-socket) (setq server-socket nil)))
+    (cond (clients
+          (labels ((close-clients (cli-socks)
+                                  (si::close (car cli-socks))
+                                  (close-clients (cdr cli-socks))))
+                  (close-clients clients))
+          (setq clients nil)))))
 
 
 ;;; GaCeLa Functions