Cycles through the JS contexts associated with a particular JSRuntime.
Syntax
JSContext * JS_ContextIterator(JSRuntime *rt, JSContext **iterp);
| Name | Type | Description | 
|---|---|---|
| rt | JSRuntime * | The runtime to walk. | 
| iterp | JSContext * | In-out parameter. On input, *iterpmust beNULLor point to a context inrt. On success, the value of*iterpis modified so that repeated calls cycle through all the contexts inrt. | 
Description
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.
Example
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);
}