#include <freeradius-devel/features.h>
#include <freeradius-devel/pool.h>
#include <freeradius-devel/exfile.h>
+#include <freeradius-devel/io/schedule.h>
#ifdef __cplusplus
extern "C" {
#endif
int virtual_servers_bootstrap(CONF_SECTION *config);
-int virtual_servers_init(CONF_SECTION *config);
+int virtual_servers_init(fr_schedule_t *sc, CONF_SECTION *config);
/*
* In unlang_interpret.c, but here for public consumption.
bool display_version = false;
int from_child[2] = {-1, -1};
char *p;
+ fr_schedule_t *sc;
/*
* Setup talloc callbacks so we get useful errors
rad_debug_lvl = 0;
set_radius_dir(autofree, RADIUS_DIR);
+ fr_time_start();
/*
* Ensure that the configuration is initialized.
*/
if (modules_instantiate(main_config.config) < 0) exit(EXIT_FAILURE);
+ sc = fr_schedule_create(NULL, &default_log, 1, 4, NULL, NULL);
+ if (!sc) {
+ exit(EXIT_FAILURE);
+ }
+
+
/*
* And then load the virtual servers.
*/
- if (virtual_servers_init(main_config.config) < 0) exit(EXIT_FAILURE);
+ if (virtual_servers_init(sc, main_config.config) < 0) exit(EXIT_FAILURE);
/*
* Initialise the SNMP stats structures
TGT_INSTALLDIR := ${sbindir}
TGT_LDLIBS := $(LIBS) $(LCRYPT) $(SYSTEMD_LIBS)
TGT_LDFLAGS := $(LDFLAGS) $(SYSTEMD_LDFLAGS)
-TGT_PREREQS := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a
+TGT_PREREQS := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a libfreeradius-io.a
# Libraries can't depend on libraries (oops), so make the binary
# depend on the EAP code...
rad_debug_lvl = 0;
set_radius_dir(NULL, RADIUS_DIR);
+ fr_time_start();
/*
* Ensure that the configuration is initialized.
/*
* And then load the virtual servers.
*/
- if (virtual_servers_init(main_config.config) < 0) goto exit_failure;
+ if (virtual_servers_init(NULL, main_config.config) < 0) goto exit_failure;
state = fr_state_tree_init(NULL, main_config.max_requests * 2, 10);
TGT_INSTALLDIR :=
TGT_LDLIBS := $(LIBS) $(LCRYPT)
-TGT_PREREQS := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a
+TGT_PREREQS := libfreeradius-server.a libfreeradius-util.a libfreeradius-radius.a libfreeradius-io.a
# Libraries can't depend on libraries (oops), so make the binary
# depend on the EAP code...
/*
* Load all of the virtual servers.
*/
-int virtual_servers_init(CONF_SECTION *config)
+int virtual_servers_init(fr_schedule_t *sc, CONF_SECTION *config)
{
CONF_SECTION *cs;
name2, cf_section_filename(cs));
cf_log_info(cs, " namespace = %s", app->name);
- if (app->instantiate(NULL, cs, check_config) < 0) {
+ if (app->instantiate(sc, cs, check_config) < 0) {
cf_log_err_cs(cs, "Failed loading virtual server %s", name2);
return -1;
}