From 03ac22d54b79eb38585b75db655b5dfdbb2134a2 Mon Sep 17 00:00:00 2001 From: Igor Bukanov Date: Mon, 26 Jul 2010 21:02:10 +0200 Subject: [PATCH] bug 552266 - followup to fix jslock.cpp to use cx->thread->requestContext, not cx->requestDepth, when claiming titles. --- js/src/jslock.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/js/src/jslock.cpp b/js/src/jslock.cpp index 2b349e330287..b94e5df527d7 100644 --- a/js/src/jslock.cpp +++ b/js/src/jslock.cpp @@ -421,7 +421,7 @@ WillDeadlock(JSContext *ownercx, JSThread *thread) for (;;) { JS_ASSERT(ownercx->thread); - JS_ASSERT(ownercx->requestDepth > 0); + JS_ASSERT(ownercx->thread->requestContext); JSTitle *title = ownercx->thread->titleToShare; if (!title || !title->ownercx) { /* @@ -530,7 +530,7 @@ static JSBool ClaimTitle(JSTitle *title, JSContext *cx) { JSRuntime *rt = cx->runtime; - JS_ASSERT_IF(cx->requestDepth == 0, + JS_ASSERT_IF(!cx->thread->requestContext, cx->thread == rt->gcThread && rt->gcRunning); JS_RUNTIME_METER(rt, claimAttempts); @@ -559,12 +559,13 @@ ClaimTitle(JSTitle *title, JSContext *cx) bool canClaim; if (title->u.link) { JS_ASSERT(js_ValidContextPointer(rt, ownercx)); - JS_ASSERT(ownercx->requestDepth > 0); + JS_ASSERT(ownercx->thread->requestContext); JS_ASSERT(!rt->gcRunning); canClaim = (ownercx->thread == cx->thread); } else { canClaim = (!js_ValidContextPointer(rt, ownercx) || - !ownercx->requestDepth || + !ownercx->thread || + !ownercx->thread->requestContext || cx->thread == ownercx->thread || cx->thread == rt->gcThread || ownercx->thread->gcWaiting);