start the ctdb protocol
*/
int ctdb_start(struct ctdb_context *ctdb);
-int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork, bool use_syslog);
+int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork, bool use_syslog, const char *public_address_list);
/*
attach to a ctdb database
/*
start the protocol going as a daemon
*/
-int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork, bool use_syslog)
+int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork, bool use_syslog, const char *public_address_list)
{
int res, ret = -1;
struct fd_event *fde;
if (ctdb->methods->initialise(ctdb) != 0) {
ctdb_fatal(ctdb, "transport failed to initialise");
}
+ if (public_address_list) {
+ ret = ctdb_set_public_addresses(ctdb, public_address_list);
+ if (ret == -1) {
+ DEBUG(DEBUG_ALERT,("Unable to setup public address list\n"));
+ exit(1);
+ }
+ }
+
/* attach to existing databases */
if (ctdb_attach_databases(ctdb) != 0) {
}
}
- if (options.public_address_list) {
- ret = ctdb_set_public_addresses(ctdb, options.public_address_list);
- if (ret == -1) {
- DEBUG(DEBUG_ALERT,("Unable to setup public address list\n"));
- exit(1);
- }
- }
-
ret = ctdb_set_event_script_dir(ctdb, options.event_script_dir);
if (ret == -1) {
DEBUG(DEBUG_ALERT,("Unable to setup event script directory\n"));
}
/* start the protocol running (as a child) */
- return ctdb_start_daemon(ctdb, interactive?False:True, options.use_syslog);
+ return ctdb_start_daemon(ctdb, interactive?False:True, options.use_syslog, options.public_address_list);
}