From ba4d6a252bbf9f790455f29400dda2d5b72ca1d3 Mon Sep 17 00:00:00 2001 From: "mccabe%netscape.com" Date: Thu, 28 Sep 2000 05:14:32 +0000 Subject: [PATCH] Fix to 54307. Patch courtesy Jon Smirl . Clean up several locks that jsdtoa uses, when JS_THREADSAFE. a=brendan r=mccabe --- js/src/jsdtoa.c | 11 +++++++++++ js/src/jslock.c | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/js/src/jsdtoa.c b/js/src/jsdtoa.c index 9a29cdc838d..0c5fab2260c 100644 --- a/js/src/jsdtoa.c +++ b/js/src/jsdtoa.c @@ -1072,6 +1072,17 @@ static void InitDtoa(void) } #endif +void js_FinishDtoa(void) +{ +#ifdef JS_THREADSAFE + if (initialized == JS_TRUE) + { + PR_DestroyLock(freelist_lock); + PR_DestroyLock(p5s_lock); + initialized = JS_FALSE; + } +#endif +} /* nspr2 watcom bug ifdef omitted */ diff --git a/js/src/jslock.c b/js/src/jslock.c index 52f458b69ef..de69113430a 100644 --- a/js/src/jslock.c +++ b/js/src/jslock.c @@ -459,6 +459,9 @@ js_SetupLocks(int l, int g) return 1; } +// pull in the cleanup function from jsdtoa.c +extern void js_FinishDtoa(void); + void js_CleanupLocks() { @@ -484,6 +487,7 @@ js_CleanupLocks() PR_DestroyLock(_compare_and_swap_lock); _compare_and_swap_lock = NULL; #endif + js_FinishDtoa(); } }