Index: filed.c ================================================================== --- filed.c +++ filed.c @@ -1116,10 +1116,20 @@ if (fd < 0) { perror("filed_listen"); return(1); } + + /* Become a daemon */ + if (daemon_enabled) { + init_ret = filed_daemonize(); + if (init_ret != 0) { + perror("filed_daemonize"); + + return(6); + } + } /* Chroot, if appropriate */ if (newroot) { chdir_ret = chdir(newroot); if (chdir_ret != 0) { @@ -1144,15 +1154,10 @@ return(1); } } - /* Become a daemon */ - if (daemon_enabled) { - filed_daemonize(); - } - /* Initialize */ init_ret = filed_init(cache_size); if (init_ret != 0) { perror("filed_init"); @@ -1170,11 +1175,11 @@ /* Create worker threads */ init_ret = filed_worker_threads_init(fd, thread_count); if (init_ret != 0) { perror("filed_worker_threads_init"); - return(4); + return(5); } /* Wait for threads to exit */ /* XXX:TODO: Monitor thread usage */ while (1) {