anchor.diff:      /// <summary>
       ///   Kill the first process and leave only the daemon
       /// </summary>
  -    class procedure KillParent; static;
  +    class procedure KillParent(APID: pid_t); static;
   
       /// <summary>
       ///   Detach from any terminal and create an independent session.
  
positive.code:     raise Exception.Create('Impossible to create an independent session');
  end;
  
  class procedure TPosixDaemon.ForkProcess;
  begin
    FProcessID := fork();
    if FProcessID < 0 then
      raise Exception.Create('Cannot create the fork');
  end;
  
  
negative.code:   signal(SIGTERM, HandleSignals);
  end;
  
  class procedure TPosixDaemon.KillParent(APID: pid_t);
  begin
    // If the PID returned from fork() is valid, the parent process
    // must terminate gracefully
    if APID > 0 then
      Halt(TPosixDaemon.EXIT_SUCCESS);
  end;
  
  class procedure TPosixDaemon.LogClose;
  begin
    closelog;
  end;
  
  class procedure TPosixDaemon.LogError(const AMessage: string);
  