diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index b9e832ff5ef9943764265ff13ddfae9800447376..c6c8929aca965474232c171033b6712d0c54ef40 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -3779,15 +3779,15 @@ js_socket_select(JSContext *cx, uintN argc, jsval *arglist) for (j = 0; j < inarray_cnt; j++) { if (limit[j] > 0) { len = 0; + JS_RESUMEREQUEST(cx, rc); + if((rarray = JS_NewArrayObject(cx, 0, NULL))==NULL) + return(JS_FALSE); + val = OBJECT_TO_JSVAL(rarray); + if (!JS_SetProperty(cx, robj, props[j], &val)) + return JS_FALSE; + rc=JS_SUSPENDREQUEST(cx); for(i=0;i<limit[j];i++) { JS_RESUMEREQUEST(cx, rc); - if((rarray = JS_NewArrayObject(cx, 0, NULL))==NULL) - return(JS_FALSE); - val = OBJECT_TO_JSVAL(rarray); - if (!JS_SetProperty(cx, robj, props[j], &val)) { - rc=JS_SUSPENDREQUEST(cx); - return JS_FALSE; - } if(!JS_GetElement(cx, inarray[j], i, &val)) { rc=JS_SUSPENDREQUEST(cx); break;