aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2019-04-08 22:17:10 +0300
committerSergey Poznyakoff <gray@gnu.org>2019-04-08 22:17:10 +0300
commita0d6c1a8117c64b25e19ce2858b71bbc37c72128 (patch)
treedfc0cace96c708cf0bf47c5402e3f3b56f18552f /src
parentc2bab35c2f4c936c1a3b1f760ea861d95896669f (diff)
downloadgdbm-a0d6c1a8117c64b25e19ce2858b71bbc37c72128.tar.gz
gdbm-a0d6c1a8117c64b25e19ce2858b71bbc37c72128.tar.bz2
Preserve locking type during database reorganization
* src/recover.c (_gdbm_finish_transfer): Preserve locking type.
Diffstat (limited to 'src')
-rw-r--r--src/recover.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/recover.c b/src/recover.c
index 7cc20a2..f1603d9 100644
--- a/src/recover.c
+++ b/src/recover.c
@@ -146,24 +146,25 @@ _gdbm_finish_transfer (GDBM_FILE dbf, GDBM_FILE new_dbf,
free (dbf->dir);
if (dbf->bucket_cache != NULL)
{
for (i = 0; i < dbf->cache_size; i++)
{
free (dbf->bucket_cache[i].ca_bucket);
free (dbf->bucket_cache[i].ca_data.dptr);
}
free (dbf->bucket_cache);
}
+ dbf->lock_type = new_dbf->lock_type;
dbf->desc = new_dbf->desc;
dbf->header = new_dbf->header;
dbf->dir = new_dbf->dir;
dbf->bucket = new_dbf->bucket;
dbf->bucket_dir = new_dbf->bucket_dir;
dbf->last_read = new_dbf->last_read;
dbf->bucket_cache = new_dbf->bucket_cache;
dbf->cache_size = new_dbf->cache_size;
dbf->header_changed = new_dbf->header_changed;
dbf->directory_changed = new_dbf->directory_changed;
dbf->bucket_changed = new_dbf->bucket_changed;
dbf->second_changed = new_dbf->second_changed;

Return to:

Send suggestions and report system problems to the System administrator.