Lines 944-949
NSS_RegisterShutdown(NSS_ShutdownFunc sF
Link Here
|
944 |
{ |
944 |
{ |
945 |
int i; |
945 |
int i; |
946 |
|
946 |
|
|
|
947 |
/* make sure our lock and condition variable are initialized one and only |
948 |
* one time */ |
949 |
if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) { |
950 |
return SECFailure; |
951 |
} |
952 |
|
947 |
PZ_Lock(nssInitLock); |
953 |
PZ_Lock(nssInitLock); |
948 |
if (!NSS_IsInitialized()) { |
954 |
if (!NSS_IsInitialized()) { |
949 |
PZ_Unlock(nssInitLock); |
955 |
PZ_Unlock(nssInitLock); |
Lines 1002-1007
NSS_UnregisterShutdown(NSS_ShutdownFunc
Link Here
|
1002 |
{ |
1008 |
{ |
1003 |
int i; |
1009 |
int i; |
1004 |
|
1010 |
|
|
|
1011 |
/* make sure our lock and condition variable are initialized one and only |
1012 |
* one time */ |
1013 |
if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) { |
1014 |
return SECFailure; |
1015 |
} |
1005 |
PZ_Lock(nssInitLock); |
1016 |
PZ_Lock(nssInitLock); |
1006 |
if (!NSS_IsInitialized()) { |
1017 |
if (!NSS_IsInitialized()) { |
1007 |
PZ_Unlock(nssInitLock); |
1018 |
PZ_Unlock(nssInitLock); |
Lines 1192-1197
NSS_ShutdownContext(NSSInitContext *cont
Link Here
|
1192 |
{ |
1203 |
{ |
1193 |
SECStatus rv = SECSuccess; |
1204 |
SECStatus rv = SECSuccess; |
1194 |
|
1205 |
|
|
|
1206 |
/* make sure our lock and condition variable are initialized one and only |
1207 |
* one time */ |
1208 |
if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) { |
1209 |
return SECFailure; |
1210 |
} |
1195 |
PZ_Lock(nssInitLock); |
1211 |
PZ_Lock(nssInitLock); |
1196 |
/* If one or more threads are in the middle of init, wait for them |
1212 |
/* If one or more threads are in the middle of init, wait for them |
1197 |
* to complete */ |
1213 |
* to complete */ |