#endif
}
+static bool is_child = false;
+
+void ctdb_set_child_info(TALLOC_CTX *mem_ctx, const char * child_name_fmt, ...)
+{
+ is_child = true;
+ if (child_name_fmt != NULL) {
+ va_list ap;
+ char *t;
+
+ va_start(ap, child_name_fmt);
+ t = talloc_vasprintf(mem_ctx, child_name_fmt, ap);
+ debug_extra = talloc_asprintf(mem_ctx, "%s:", t);
+ talloc_free(t);
+ va_end(ap);
+ }
+}
+
+bool ctdb_is_child_process(void)
+{
+ return is_child;
+}
+
/*
* This function forks a child process and drops the realtime
* scheduler for the child process.
void ctdb_restore_scheduler(struct ctdb_context *ctdb);
pid_t ctdb_fork(struct ctdb_context *ctdb);
pid_t ctdb_fork_no_free_ringbuffer(struct ctdb_context *ctdb);
+bool ctdb_is_child_process(void);
int32_t ctdb_control_takeover_ip(struct ctdb_context *ctdb,
struct ctdb_req_control *c,
TDB_DATA indata,