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.