Obsolete since JSAPI 52
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.

Cycles through the JS contexts associated with a particular JSRuntime.


JSContext *
JS_ContextIterator(JSRuntime *rt, JSContext **iterp);
Name Type Description
rt JSRuntime * The runtime to walk.
iterp JSContext * In-out parameter. On input, *iterp must be NULL or point to a context in rt. On success, the value of *iterp is modified so that repeated calls cycle through all the contexts in rt.


JS_ContextIterator steps through the set of contexts associated with the runtime rt. Each call to JS_ContextIterator returns the next context in the cycle.

iterp must point to a variable of type JSContext *. If *iterp is NULL, JS_ContextIterator modifies it to point to the first JSContext in the list. Otherwise *iterp must point to an existing context in rt, and JS_ContextIterator modifies it to point to the next context in the list, if any, and NULL otherwise.

JS_ContextIterator returns the new value of *iterp.


The following code snippet illustrates how to cycle through the contexts for a given runtime:

JSContext *acx;
JSContext *iterp = NULL;
int i = 0;

while ((acx = JS_ContextIterator(rt, &iterp)) != NULL) {
    printf("%d ", ++i);

See Also