mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 22:47:12 +01:00
Wait 60 minutes before retrying failed state save; bug2346
This commit is contained in:
parent
5ae391762c
commit
95968a625e
2 changed files with 12 additions and 1 deletions
5
changes/bug2346
Normal file
5
changes/bug2346
Normal file
|
@ -0,0 +1,5 @@
|
|||
o Minor features
|
||||
- If writing the state file to disk fails, wait an hour before
|
||||
retrying again. Fixes bug 2346. Bugfix on Tor 0.1.1.3-alpha.
|
||||
|
||||
|
|
@ -5145,6 +5145,9 @@ or_state_load(void)
|
|||
return r;
|
||||
}
|
||||
|
||||
/** If writing the state to disk fails, try again after this many seconds. */
|
||||
#define STATE_WRITE_RETRY_INTERVAL 3600
|
||||
|
||||
/** Write the persistent state to disk. Return 0 for success, <0 on failure. */
|
||||
int
|
||||
or_state_save(time_t now)
|
||||
|
@ -5179,10 +5182,13 @@ or_state_save(time_t now)
|
|||
tor_free(state);
|
||||
fname = get_datadir_fname("state");
|
||||
if (write_str_to_file(fname, contents, 0)<0) {
|
||||
log_warn(LD_FS, "Unable to write state to file \"%s\"", fname);
|
||||
log_warn(LD_FS, "Unable to write state to file \"%s\"; will try later",
|
||||
fname);
|
||||
global_state->LastWritten = -1;
|
||||
tor_free(fname);
|
||||
tor_free(contents);
|
||||
/* Try again in after STATE_WRITE_RETRY_INTERVAL */
|
||||
global_state->next_write = now + STATE_WRITE_RETRY_INTERVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue