Exemplo n.º 1
0
void
parse_configuration(const char *filename, mipv6_conf_item_t *items)
{
	FILE *fp = fopen(filename, "r");

	if (fp == NULL)
		perform_shutdown("Failed to open configuration file");

	parse_configuration_in(1, fp, items);

	fseek(fp, 0, SEEK_SET);

	parse_configuration_in(0, fp, items);

	fclose(fp);
}
Exemplo n.º 2
0
static void
loop(void)
{
    struct interval *tp;
    u_int sltime;
    int logged;

    if (offset <= NOLOG_TIME) {
        logged = 1;
        nolog();
    }
    else
        logged = 0;
    tp = tlist;
    if (tp->timeleft < offset)
        (void)sleep((u_int)(offset - tp->timeleft));
    else {
        while (tp->timeleft && offset < tp->timeleft)
            ++tp;
        /*
         * Warn now, if going to sleep more than a fifth of
         * the next wait time.
         */
        if ((sltime = offset - tp->timeleft)) {
            if (sltime > (u_int)(tp->timetowait / 5))
                timewarn(offset);
            (void)sleep(sltime);
        }
    }
    for (;; ++tp) {
        timewarn(tp->timeleft);
        if (!logged && tp->timeleft <= NOLOG_TIME) {
            logged = 1;
            nolog();
        }
        (void)sleep((u_int)tp->timetowait);
        if (!tp->timeleft)
            break;
    }
    perform_shutdown();
}