exit(tdb_validate_child(tdb, validate_fn));
}
else if (child_pid < 0) {
- smb_panic("tdb_validate: fork for validation failed.");
+ DEBUG(1, ("tdb_validate: fork for validation failed.\n"));
+ goto done;
}
/* parent */
errno = 0;
continue;
}
- DEBUG(0, ("tdb_validate: waitpid failed with errno %s\n",
+ DEBUG(1, ("tdb_validate: waitpid failed with error '%s'.\n",
strerror(errno)));
- smb_panic("tdb_validate: waitpid failed.");
+ goto done;
}
if (wait_pid != child_pid) {
- DEBUG(0, ("tdb_validate: waitpid returned pid %d, "
+ DEBUG(1, ("tdb_validate: waitpid returned pid %d, "
"but %d was expected\n", wait_pid, child_pid));
- smb_panic("tdb_validate: waitpid returned unexpected PID.");
+ goto done;
}
DEBUG(10, ("tdb_validate: validating child returned.\n"));
ret = WSTOPSIG(child_status);
}
+done:
DEBUG(5, ("tdb_validate returning code '%d' for tdb '%s'\n", ret,
tdb_name(tdb)));