#define DL_INSTANTIATE_PRIORITY 5 //!< Callback priority for bootstrap callback
+int dl_init(void);
+
int dl_symbol_init_cb_register(unsigned int priority, char const *symbol,
dl_init_t func, void *ctx);
{ NULL , -1 },
};
-static int dl_init(void);
-
static int dl_symbol_init_cmp(void const *one, void const *two)
{
dl_symbol_init_t const *a = one, *b = two;
char *p, *q;
dl_common_t const *module;
- if (!dl) dl_init();
-
if (parent) {
module_name = talloc_typed_asprintf(NULL, "%s_%s_%s",
fr_int2str(dl_type_prefix, parent->type, "<INVALID>"),
/** Initialise structures needed by the dynamic linker
*
*/
-static int dl_init(void)
+int dl_init(void)
{
if (dl) return 0;
*/
if (main_config.daemonize) main_config.write_pid = true;
+ /*
+ * Initialize the DL infrastructure, which is used by the
+ * config file parser.
+ */
+ dl_init();
+
/*
* Read the configuration files, BEFORE doing anything else.
*/