summaryrefslogtreecommitdiff
path: root/security/nss/lib/pki/pkistore.h
diff options
context:
space:
mode:
Diffstat (limited to 'security/nss/lib/pki/pkistore.h')
-rw-r--r--security/nss/lib/pki/pkistore.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/security/nss/lib/pki/pkistore.h b/security/nss/lib/pki/pkistore.h
index d2f222a1c..a89ebbfac 100644
--- a/security/nss/lib/pki/pkistore.h
+++ b/security/nss/lib/pki/pkistore.h
@@ -95,14 +95,36 @@ nssCertificateStore_RemoveCertLOCKED
NSSCertificate *cert
);
+struct nssCertificateStoreTraceStr {
+ nssCertificateStore* store;
+ PZLock* lock;
+ PRBool locked;
+ PRBool unlocked;
+};
+
+typedef struct nssCertificateStoreTraceStr nssCertificateStoreTrace;
+
+static void nssCertificateStore_Check(nssCertificateStoreTrace* a,
+ nssCertificateStoreTrace* b) {
+ PORT_Assert(a->locked);
+ PORT_Assert(b->unlocked);
+
+ PORT_Assert(!a->unlocked);
+ PORT_Assert(!b->locked);
+
+ PORT_Assert(a->lock == b->lock);
+ PORT_Assert(a->store == b->store);
+};
+
NSS_EXTERN void
nssCertificateStore_Lock (
- nssCertificateStore *store
+ nssCertificateStore *store, nssCertificateStoreTrace* out
);
NSS_EXTERN void
nssCertificateStore_Unlock (
- nssCertificateStore *store
+ nssCertificateStore *store, nssCertificateStoreTrace* in,
+ nssCertificateStoreTrace* out
);
NSS_EXTERN NSSCertificate **