if (h->child == 0) {
int ret;
- int count = 0;
/* in the child */
close(fd[0]);
if (ret != 0) {
_exit(0);
}
- while (count++ < 30) {
- ret = write(fd[1], &ret, sizeof(ret));
- if (ret != sizeof(ret)) {
- DEBUG(DEBUG_ERR, (__location__ " Failed to write to socket from freeze child. ret:%d errno:%u\n", ret, errno));
- }
+
+try_again:
+ ret = write(fd[1], &ret, sizeof(ret));
+ if (ret != sizeof(ret)) {
+ DEBUG(DEBUG_ERR, (__location__ " Failed to write to socket from freeze child. ret:%d errno:%u\n", ret, errno));
sleep (1);
+ goto try_again;
}
/* the read here means we will die if the parent exits */