Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Side by Side Diff: nss/lib/ckfw/hash.c

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 4
5 /* 5 /*
6 * hash.c 6 * hash.c
7 * 7 *
8 * This is merely a couple wrappers around NSPR's PLHashTable, using 8 * This is merely a couple wrappers around NSPR's PLHashTable, using
9 * the identity hash and arena-aware allocators. The reason I did 9 * the identity hash and arena-aware allocators. The reason I did
10 * this is that hash tables are used in a few places throughout the 10 * this is that hash tables are used in a few places throughout the
(...skipping 30 matching lines...) Expand all
41 PLHashTable *plHashTable; 41 PLHashTable *plHashTable;
42 CK_ULONG count; 42 CK_ULONG count;
43 }; 43 };
44 44
45 static PLHashNumber 45 static PLHashNumber
46 nss_ckfw_identity_hash 46 nss_ckfw_identity_hash
47 ( 47 (
48 const void *key 48 const void *key
49 ) 49 )
50 { 50 {
51 PRUint32 i = (PRUint32)key; 51 return (PLHashNumber)((char *)key - (char *)NULL);
52 PR_ASSERT(sizeof(PLHashNumber) == sizeof(PRUint32));
53 return (PLHashNumber)i;
54 } 52 }
55 53
56 /* 54 /*
57 * nssCKFWHash_Create 55 * nssCKFWHash_Create
58 * 56 *
59 */ 57 */
60 NSS_IMPLEMENT nssCKFWHash * 58 NSS_IMPLEMENT nssCKFWHash *
61 nssCKFWHash_Create 59 nssCKFWHash_Create
62 ( 60 (
63 NSSCKFWInstance *fwInstance, 61 NSSCKFWInstance *fwInstance,
(...skipping 16 matching lines...) Expand all
80 78
81 rv = nss_ZNEW(arena, nssCKFWHash); 79 rv = nss_ZNEW(arena, nssCKFWHash);
82 if (!rv) { 80 if (!rv) {
83 *pError = CKR_HOST_MEMORY; 81 *pError = CKR_HOST_MEMORY;
84 return (nssCKFWHash *)NULL; 82 return (nssCKFWHash *)NULL;
85 } 83 }
86 84
87 rv->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError); 85 rv->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError);
88 if (!rv->mutex) { 86 if (!rv->mutex) {
89 if( CKR_OK == *pError ) { 87 if( CKR_OK == *pError ) {
90 (void)nss_ZFreeIf(rv);
91 *pError = CKR_GENERAL_ERROR; 88 *pError = CKR_GENERAL_ERROR;
92 } 89 }
90 (void)nss_ZFreeIf(rv);
93 return (nssCKFWHash *)NULL; 91 return (nssCKFWHash *)NULL;
94 } 92 }
95 93
96 rv->plHashTable = PL_NewHashTable(0, nss_ckfw_identity_hash, 94 rv->plHashTable = PL_NewHashTable(0, nss_ckfw_identity_hash,
97 PL_CompareValues, PL_CompareValues, &nssArenaHashAllocOps, arena); 95 PL_CompareValues, PL_CompareValues, &nssArenaHashAllocOps, arena);
98 if (!rv->plHashTable) { 96 if (!rv->plHashTable) {
99 (void)nssCKFWMutex_Destroy(rv->mutex); 97 (void)nssCKFWMutex_Destroy(rv->mutex);
100 (void)nss_ZFreeIf(rv); 98 (void)nss_ZFreeIf(rv);
101 *pError = CKR_HOST_MEMORY; 99 *pError = CKR_HOST_MEMORY;
102 return (nssCKFWHash *)NULL; 100 return (nssCKFWHash *)NULL;
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 if( CKR_OK != nssCKFWMutex_Lock(hash->mutex) ) { 291 if( CKR_OK != nssCKFWMutex_Lock(hash->mutex) ) {
294 return; 292 return;
295 } 293 }
296 294
297 PL_HashTableEnumerateEntries(hash->plHashTable, nss_ckfwhash_enumerator, &as); 295 PL_HashTableEnumerateEntries(hash->plHashTable, nss_ckfwhash_enumerator, &as);
298 296
299 (void)nssCKFWMutex_Unlock(hash->mutex); 297 (void)nssCKFWMutex_Unlock(hash->mutex);
300 298
301 return; 299 return;
302 } 300 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698