diff options
author | Wayne Davison <wayned@users.sourceforge.net> | 2002-02-16 09:21:34 +0000 |
---|---|---|
committer | Wayne Davison <wayned@users.sourceforge.net> | 2002-02-16 09:21:34 +0000 |
commit | d35af383df7bed6fe1ca8cb017264eb9030d2991 (patch) | |
tree | 51232354cb527bf66cfb3dd8b006eea331926bf4 | |
parent | 3fd91a7b905e4447396e22a09ed99b22ea994594 (diff) | |
download | zsh-d35af383df7bed6fe1ca8cb017264eb9030d2991.tar.gz zsh-d35af383df7bed6fe1ca8cb017264eb9030d2991.tar.xz zsh-d35af383df7bed6fe1ca8cb017264eb9030d2991.zip |
When savehistfile() rewrites the history file, there was a potential for
losing the entire history file if we couldn't lock the file for reading (it timed out) but we could lock the file for write (and wrote nothing).
-rw-r--r-- | Src/hist.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/hist.c b/Src/hist.c index 2598baa5c..c7b4641df 100644 --- a/Src/hist.c +++ b/Src/hist.c @@ -2083,7 +2083,8 @@ savehistfile(char *fn, int err, int writeflags) hist_ignore_all_dups |= isset(HISTSAVENODUPS); readhistfile(fn, err, 0); hist_ignore_all_dups = isset(HISTIGNOREALLDUPS); - savehistfile(fn, err, 0); + if (histlinect) + savehistfile(fn, err, 0); deletehashtable(histtab); curhist = remember_curhist; |