Skip to content
Snippets Groups Projects
Commit 4467aa3a authored by Moe Jette's avatar Moe Jette
Browse files

Re-issue write on state save as needed rather than just logging an error

and quitting.
parent a4a16aca
No related branches found
No related tags found
No related merge requests found
......@@ -332,16 +332,21 @@ int dump_all_node_state ( void )
error ("Can't save state, error creating file %s %m",
new_file);
error_code = errno;
}
else {
if (write (log_fd, get_buf_data(buffer),
get_buf_offset(buffer)) !=
get_buf_offset(buffer)) {
error ("Can't save state, error writing file %s %m",
new_file);
error_code = errno;
} else {
int pos = 0, nwrite = get_buf_offset(buffer), amount;
char *data = (char *)get_buf_data(buffer);
while (nwrite > 0) {
amount = write(log_fd, &data[pos], nwrite);
if ((amount < 0) && (errno != EINTR)) {
error("Error writing file %s, %m", new_file);
error_code = errno;
break;
}
nwrite -= amount;
pos += amount;
}
close (log_fd);
close(log_fd);
}
if (error_code)
(void) unlink (new_file);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment