child_finished:
sys_write(rc->fd[1], &c, 1);
- /* make sure we die when our parent dies */
- while (ctdb_kill(ctdb, parent, 0) == 0 || errno != ESRCH) {
- sleep(5);
- }
+ ctdb_wait_for_process_to_exit(parent);
_exit(0);
}
send_result(write_fd, result);
- while (kill(ppid, 0) == 0 || errno != ESRCH) {
- sleep(5);
- }
+ ctdb_wait_for_process_to_exit(ppid);
return 0;
}
}
sys_write(state->fd[1], &cc, 1);
- /* make sure we die when our parent dies */
- while (ctdb_kill(ctdb, parent, 0) == 0 || errno != ESRCH) {
- sleep(5);
- }
+ ctdb_wait_for_process_to_exit(parent);
_exit(0);
}
close(state->fd[1]);
}
sys_write(h->fd[1], &res, 1);
- /* make sure we die when our parent dies */
- while (ctdb_kill(ctdb, parent, 0) == 0 || errno != ESRCH) {
- sleep(5);
- }
+ ctdb_wait_for_process_to_exit(parent);
_exit(0);
}
sys_write(h->fd[1], &res, sizeof(res));
- while (ctdb_kill(ctdb, parent, 0) == 0 || errno != ESRCH) {
- sleep(5);
- }
+ ctdb_wait_for_process_to_exit(parent);
_exit(0);
}
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);
}