summaryrefslogtreecommitdiff
path: root/nss/lib/base/error.c
diff options
context:
space:
mode:
Diffstat (limited to 'nss/lib/base/error.c')
-rw-r--r--nss/lib/base/error.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/nss/lib/base/error.c b/nss/lib/base/error.c
index ea1d5e3..95a76cf 100644
--- a/nss/lib/base/error.c
+++ b/nss/lib/base/error.c
@@ -55,6 +55,7 @@ static PRUintn error_stack_index = INVALID_TPD_INDEX;
*/
static PRCallOnceType error_call_once;
+static const PRCallOnceType error_call_again;
/*
* error_once_function
@@ -264,6 +265,8 @@ nss_DestroyErrorStack(void)
{
if (INVALID_TPD_INDEX != error_stack_index) {
PR_SetThreadPrivate(error_stack_index, NULL);
+ error_stack_index = INVALID_TPD_INDEX;
+ error_call_once = error_call_again; /* allow to init again */
}
return;
}