diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index 71a0819d056c09e39138e75bcfa4936ebb9b3385..43ad5c0e9d4c1a2f912a073e60aaf9b0c0c3115f 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -42,6 +42,7 @@ static JSBool js_connect(JSContext *cx, uintN argc, jsval *arglist); static void js_finalize_socket(JSContext *cx, JSObject *obj); static JSBool js_ioctlsocket(JSContext *cx, uintN argc, jsval *arglist); static JSBool js_listen(JSContext *cx, uintN argc, jsval *arglist); +static js_callback_t * js_get_callback(JSContext *cx); static JSBool js_getsockopt(JSContext *cx, uintN argc, jsval *arglist); static JSBool js_peek(JSContext *cx, uintN argc, jsval *arglist); static JSBool js_poll(JSContext *cx, uintN argc, jsval *arglist); @@ -2028,7 +2029,7 @@ js_poll(JSContext *cx, uintN argc, jsval *arglist) return(JS_TRUE); } -js_callback_t * +static js_callback_t * js_get_callback(JSContext *cx) { JSObject* scope = JS_GetScopeChain(cx); diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index a7b6a48c5d88971729cf17f51af37e34bc41b30a..ed2d051a45ff276bf89875fe4f21becff2dc0383 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -1972,15 +1972,12 @@ void input_thread(void *arg) pthread_mutex_lock(&sbbs->ssh_mutex); if(cryptStatusError((err=crypt_pop_channel_data(sbbs, (char*)inbuf, rd, &i)))) { pthread_mutex_unlock(&sbbs->ssh_mutex); - if(err==CRYPT_ERROR_TIMEOUT) { - if(pthread_mutex_unlock(&sbbs->input_thread_mutex)!=0) - sbbs->errormsg(WHERE,ERR_UNLOCK,"input_thread_mutex",0); + if(pthread_mutex_unlock(&sbbs->input_thread_mutex)!=0) + sbbs->errormsg(WHERE,ERR_UNLOCK,"input_thread_mutex",0); + if(err==CRYPT_ERROR_TIMEOUT) continue; - } /* Handle the SSH error here... */ GCES(err, sbbs->cfg.node_num, sbbs->ssh_session, "popping data"); - if(pthread_mutex_unlock(&sbbs->input_thread_mutex)!=0) - sbbs->errormsg(WHERE,ERR_UNLOCK,"input_thread_mutex",0); break; } else { diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index a7b70bb98e02c395a7a143cbd6c11ac417c639c6..f0daa4ceb25c1528f50626e54e68e9516d3f3f8d 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -1429,7 +1429,6 @@ extern "C" { #endif DLLEXPORT JSObject* DLLCALL js_CreateSocketObjectFromSet(JSContext* cx, JSObject* parent ,char *name, struct xpms_set *set); - js_callback_t * js_get_callback(JSContext *cx); DLLEXPORT SOCKET DLLCALL js_socket(JSContext *cx, jsval val); DLLEXPORT int js_polltimeout(JSContext* cx, jsval val); diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 25edddb15533bfb349d60379aae0800710f719da..11efc7f59b38a1862f4eb4158edb2d080a1d14cf 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -1223,7 +1223,6 @@ static void js_static_service_thread(void* arg) service_client.callback.yield_interval = service->js.yield_interval; service_client.callback.terminated = &service->terminated; service_client.callback.auto_terminate = TRUE; - service_client.callback.events= NULL; if((js_runtime=jsrt_GetNew(service->js.max_bytes, 5000, __FILE__, __LINE__))==NULL) { if(service->log_level >= LOG_ERR) @@ -2290,7 +2289,6 @@ void DLLCALL services_thread(void* arg) client->callback.yield_interval = service[i].js.yield_interval; client->callback.terminated = &client->service->terminated; client->callback.auto_terminate = TRUE; - client->callback.events= NULL; udp_buf = NULL;