+// SPDX-License-Identifier: MIT
/*
Copyright 2011 by Matthieu Boutier and Juliusz Chroboczek
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
*/
/* include zebra library */
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);
zlog_rotate ();
}
-static struct quagga_signal_t babel_signals[] =
+static struct frr_signal_t babel_signals[] =
{
{
.signal = SIGUSR1,
case 0:
break;
default:
- frr_help_exit (1);
- break;
+ frr_help_exit(1);
}
}
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"