diff options
author | roeber%netscape.com <devnull@localhost> | 2000-05-16 01:55:20 +0000 |
---|---|---|
committer | roeber%netscape.com <devnull@localhost> | 2000-05-16 01:55:20 +0000 |
commit | 47e344be10298856012a6746999859aba18c968a (patch) | |
tree | 78c88a00e2bbaae7a3347b14166a7c85fab54496 /security | |
parent | 8989b2ad574b932e7a47af0e289bbafbda32f102 (diff) | |
download | nss-hg-47e344be10298856012a6746999859aba18c968a.tar.gz |
sync the database after writes
Diffstat (limited to 'security')
-rw-r--r-- | security/nss/lib/ckfw/dbm/db.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/security/nss/lib/ckfw/dbm/db.c b/security/nss/lib/ckfw/dbm/db.c index 76d3fe4bd..fc76b42f5 100644 --- a/security/nss/lib/ckfw/dbm/db.c +++ b/security/nss/lib/ckfw/dbm/db.c @@ -139,6 +139,7 @@ nss_dbm_db_get_format_version v.data = buffer; v.size = nssUTF8_Size((NSSUTF8 *)v.data, (PRStatus *)NULL); dbrv = db->db->put(db->db, &k, &v, 0); + (void)db->db->sync(db->db, 0); rv = nss_dbm_db_format_version; } else { /* No error return.. */ @@ -178,6 +179,11 @@ nss_dbm_db_set_label rv = CKR_DEVICE_ERROR; } + dbrv = db->db->sync(db->db, 0); + if( 0 != dbrv ) { + rv = CKR_DEVICE_ERROR; + } + (void)NSSCKFWMutex_Unlock(db->crustylock); } @@ -248,6 +254,12 @@ nss_dbm_db_delete_object goto done; } + dbrv = dbt->my_db->db->sync(dbt->my_db->db, 0); + if( 0 != dbrv ) { + rv = CKR_DEVICE_ERROR; + goto done; + } + done: (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); } @@ -304,6 +316,11 @@ nss_dbm_db_new_handle goto done; } + rv = db->db->sync(db->db, 0); + if( 0 != rv ) { + goto done; + } + done: (void)NSSCKFWMutex_Unlock(db->crustylock); } @@ -587,6 +604,8 @@ nss_dbm_db_create_object *pError = CKR_DEVICE_ERROR; } + (void)db->db->sync(db->db, 0); + (void)NSSCKFWMutex_Unlock(db->crustylock); } @@ -1031,6 +1050,8 @@ nss_dbm_db_set_object_attribute goto done; } + (void)dbt->my_db->db->sync(dbt->my_db->db, 0); + done: (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); } |