Obsolete since JSAPI 18
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Momentarily suspend the current JSAPI request, allowing garbage collection to run if another thread has requested it.

Syntax

void JS_YieldRequest(JSContext *cx);
Name Type Description
cx JSContext * The JSContext that is currently in a request on the calling thread. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.

Description

For more information about thread safety and requests, see JS_THREADSAFE.

JS_YieldRequest momentarily suspends the current request. A program can call this function periodically to ensure that a long-running request does not block garbage collection indefinitely. The effect is the same as a call to JS_SuspendRequest immediately followed by a call to JS_ResumeRequest.

JSAPI 1.7 and earlier JS_YieldRequest did not cause cx to relinquish objects it created to other threads that are blocked waiting for them. This bug (bug 402898) will be fixed in SpiderMonkey 1.8.

JSAPI 1.7 and earlier JS_YieldRequest is available only in JS_THREADSAFE builds. In SpiderMonkey 1.8 and later, this function will be present, but will do nothing, in non-JS_THREADSAFE builds.

MXR ID Search for JS_YieldRequest