def do_daemon_init_and_start(self, set_proc_title=True):
        if set_proc_title:
            self.set_proctitle(self.name)
        self.change_to_user_group()
        self.change_to_workdir()
        self.check_parallel_run()
        if self.is_daemon:
            if not self.daemonize():
                logger.error("I could not daemonize myself :(")
                return False
        else:
            self.write_pid(os.getpid())
        self.setup_alignak_logger()
        if not self.setup_communication_daemon():
            logger.error("I could not setup my communication daemon :(")
            return False
        self.sync_manager = self._create_manager()
        logger.info("Starting http_daemon thread")
        self.http_thread = threading.Thread(target=self.http_daemon_thread,
                                            name='%s-http_thread' % self.name)
        self.http_thread.daemon = True
        self.http_thread.start()
        logger.info("HTTP daemon thread started")
        return True