static void babel_fail(void);
static void babel_init_random(void);
-static void babel_replace_by_null(int fd);
static void babel_exit_properly(void);
static void babel_save_state_file(void);
resend_delay = BABEL_DEFAULT_RESEND_DELAY;
change_smoothing_half_life(BABEL_DEFAULT_SMOOTHING_HALF_LIFE);
- babel_replace_by_null(STDIN_FILENO);
-
/* init some quagga's dependencies, and babeld's commands */
if_zapi_callbacks(babel_ifp_create, babel_ifp_up,
babel_ifp_down, babel_ifp_destroy);
srandom(seed);
}
-/*
- close fd, and replace it by "/dev/null"
- exit if error
- */
-static void
-babel_replace_by_null(int fd)
-{
- int fd_null;
- int rc;
-
- fd_null = open("/dev/null", O_RDONLY);
- if(fd_null < 0) {
- flog_err_sys(EC_LIB_SYSTEM_CALL, "open(null): %s", safe_strerror(errno));
- exit(1);
- }
-
- rc = dup2(fd_null, fd);
- if(rc < 0) {
- flog_err_sys(EC_LIB_SYSTEM_CALL, "dup2(null, 0): %s",
- safe_strerror(errno));
- exit(1);
- }
-
- close(fd_null);
-}
-
/*
Load the state file: check last babeld's running state, usefull in case of
"/etc/init.d/babeld restart"