anchor.diff:  ;; - define what error contain (e.g. a condition)
   ;; ~ status member nil :connected :broken
   
  -(defparameter *io-multi-process* (or #+mcl t ))
  -(defparameter *io-background-write-treshold* 200)
  -
  -(defvar *io-event-queue* nil)
  -(defvar *io-ready-for-read* nil)
  -
  -(defvar *io-socket* nil
  -  "listener socket (or similar). Producer of connections.")
  -(defvar *io-listener-process* nil)
  -
  -(defvar *io-descriptions* nil
  -  "List of all io-descriptors that we will do I/O on.")
  -
  -
   (defun io-fix-broken ()
     (setq *io-descriptions*
           (loop for desc in *io-descriptions*
                 if (eq :broken (io-descriptor-status desc))
                 do (close (io-descriptor-stream desc))
  -              else collect desc))
  -  (setq *io-ready-for-read*
  -        (loop for desc in *io-ready-for-read*
  -              unless (eq :broken (io-descriptor-status desc))
  -              collect desc)))
  +              else collect desc)))
   
   (defun io-reset (&key (listener nil))
     (when (and listener *io-socket*)
  
positive.code:      (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))
  
negative.code: 
  (in-package :clorb)
  
  (defparameter *io-background-write-treshold* 200)
  
  (defvar *io-event-queue* nil)
  
  (defvar *io-socket* nil
    "listener socket (or similar). Producer of connections.")
  (defvar *io-listener-process* nil)
  
  (defvar *io-descriptions* nil
    "List of all io-descriptors that we will do I/O on.")
  
  
  
  ;;;; IO-DESCRIPTOR
  
  (defstruct io-descriptor
    status
    error
    ;; -- internal --
  