#include "lib/tdb_wrap/tdb_wrap.h"
#include "lib/util/debug.h"
#include "lib/util/samba_util.h"
+#include "lib/util/sys_rw.h"
+#include "lib/util/util_process.h"
#include "ctdb_private.h"
#include "ctdb_client.h"
-#include "ctdb_logging.h"
#include "common/system.h"
#include "common/common.h"
+#include "common/logging.h"
struct ctdb_persistent_write_state {
struct ctdb_db_context *ctdb_db;
char c = 0;
close(result->fd[0]);
- ctdb_set_process_name("ctdb_write_persistent");
- debug_extra = talloc_asprintf(NULL, "childwrite-%s:", ctdb_db->db_name);
+ prctl_set_comment("ctdb_write_persistent");
ret = ctdb_persistent_store(state);
if (ret != 0) {
DEBUG(DEBUG_ERR, (__location__ " Failed to write persistent data\n"));
sys_write(result->fd[1], &c, 1);
- /* make sure we die when our parent dies */
- while (ctdb_kill(ctdb_db->ctdb, parent, 0) == 0 || errno != ESRCH) {
- sleep(5);
- }
+ ctdb_wait_for_process_to_exit(parent);
_exit(0);
}
state->c = c;
state->m = m;
state->flags = 0;
- if (!ctdb_db->persistent) {
+ if (ctdb_db_volatile(ctdb_db)) {
state->flags = UPDATE_FLAGS_REPLACE_ONLY;
}