anchor.diff:       (socket-close *io-socket*))
       (setq *io-socket* nil))
     (setq *io-event-queue* nil)
  -  (setq *io-ready-for-read* nil)
     (end-process (shiftf *io-listener-process* nil))
     (dolist (desc *io-descriptions*)
       (end-process (shiftf (io-descriptor-read-process desc) nil))
  
positive.code:      (io-queue-event :error desc) ))
    (setf (io-descriptor-write-process desc) nil))
  
  (defun io-descriptor-set-write (desc buf start end)
    (setf (io-descriptor-write-buffer desc) buf
          (io-descriptor-write-pos desc) start
          (io-descriptor-write-limit desc) end)
    (when (and *io-multi-process* buf (> end start))
      (if (> (- end start) *io-background-write-treshold*)
        (setf (io-descriptor-write-process desc) (start-process "CORBA write" #'io-desc-write desc))
        (io-desc-write desc))))
  
  
  (defun io-bg-listen ()
    (loop
      (let ((new (accept-connection-on-socket *io-socket* t)))
        (when new
          (let ((desc (io-create-descriptor)))
            (setf (io-descriptor-stream desc) new)
            (setf (io-descriptor-status desc) :connected)
            (io-queue-event :new desc))))))
  
  (defun io-start-bg-listen ()
    (unless *io-listener-process*
      (setf *io-listener-process*
            (start-process "CORBA listen" #'io-bg-listen))))
  
  
  (defun io-poll-desc (desc status)
    (with-slots (stream read-buffer read-limit read-pos
  
negative.code:   (setq *io-descriptions* nil))
  
  
  
  ;;;; IO-System
  
  (defclass io-system ()
    ())
  
  (defclass io-system-select (io-system)
    ())
  
  (defclass io-system-multiprocess (io-system)
    ((read-ready :initform nil  :accessor io-read-ready)))
  
  
  (defvar *io-system*
    #+digitool (make-instance 'io-system-multiprocess)
    #-digitool (make-instance 'io-system-select))
  
  (defun io-system-switch (new-class)
    (io-reset)
    (setq *io-system* (make-instance new-class)))
  
  
  (defgeneric io-ready-for-read (system desc)
    (:method ((system io-system) desc)
             (declare (ignore desc))))
  
  (defgeneric io-ready-for-write (system desc)
    (:method ((system io-system) desc)
             (declare (ignore desc))))
  
  
  
  ;;;; Event Queue
  
  (defun io-queue-event (type desc)
    (push (list type desc) *io-event-queue*))
  
  
  ;;;; Creating io-descriptors
  
  (defun io-create-listener (&optional port)
    (setq *io-socket* (open-passive-socket port))
  