From 5e53ebf53c3d875604fd51d8abdd9d063f31fd69 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 28 Jan 2002 20:15:59 +0000 Subject: [PATCH] Attempt to use alarm() (on Unix) to timeout connect(). --- src/sbbs3/js_socket.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index 0b6465b140..b5f694dca3 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -206,12 +206,21 @@ js_connect(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) addr.sin_family = AF_INET; addr.sin_port = htons(port); +#if defined(__unix__) + alarm(10); /* timeout */ +#endif if(connect(p->sock, (struct sockaddr *)&addr, sizeof(addr))!=0) { +#if defined(__unix__) + alarm(0); +#endif p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "connect failed with error %d",ERROR_VALUE); *rval = BOOLEAN_TO_JSVAL(JS_FALSE); return(JS_TRUE); } +#if defined(__unix__) + alarm(0); +#endif *rval = BOOLEAN_TO_JSVAL(JS_TRUE); dbprintf(FALSE, p, "connected to port %u at %s", port, JS_GetStringBytes(str)); -- GitLab