anchor.diff:  	   #:daemonize))
   
   (in-package :daemon)
  +
  +;;I don't know why but "sudo sbcl" lacks sb-posix
  +#+sbcl(require :sb-posix)
   
   #+allegro
   (eval-when (:load-toplevel :execute)
  
positive.code:   #+allegro (excl.osi:pwent-dir pswd)
    #+ccl (ccl:%get-cstring(ccl:pref pswd :passwd.pw_dir)))
  
  ;; I have to change this function's name...
  (defun close-fd-streams ()
    #-allegro
    (progn 
      (chdir "/")
      #+sbcl
      (progn
        (setf sb-sys:*stdin* (make-concatenated-stream))
  
negative.code: 	  ccl::*terminal-output* ccl::*stdout*
  	  ccl::*terminal-io* (make-two-way-stream 
  			      ccl::*terminal-input* ccl::*terminal-output*))
      (dup2 (popen "/dev/null" *o-rdonly*) 0)
      (dup2 (popen "/dev/null" (logior *o-wronly* *o-append*)) 1)
      (dup2 (popen "/dev/null" *o-rdonly*) 2))
    #+allegro 
    (excl.osi:detach-from-terminal :output-stream nil :error-output-stream nil))
  
  (defun daemonize (&key input output error (umask +default-mask+) pidfile
  		  exit-parent (exit-hook t) (disable-debugger t)
  		  user group
  		  sigabrt sighup sigint sigterm)
    (declare (ignorable exit-hook disable-debugger sigabrt sighup sigint sigterm))
    (when pidfile
      (ignore-errors (delete-file pidfile)))
    (let ((uid (typecase user
  	       (string
  		(or (passwd-uid (getpwnam user))
  