diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 03db4784bef07a1ddc7f57ab75dfb85435148ef9..2b152bbc88982d4a07d68a8610ce68c05b7ad006 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -4387,6 +4387,10 @@ void DLLCALL web_server(void* arg) #ifdef ONE_JS_RUNTIME JSRuntime* js_runtime; #endif +#ifdef SO_ACCEPTFILTER + struct accept_filter_arg afa; +#endif + startup=(web_startup_t*)arg; web_ver(); /* get CVS revision */ @@ -4553,6 +4557,12 @@ void DLLCALL web_server(void* arg) * lprintf("Cannot set TCP_NOPUSH socket option"); */ +#ifdef SO_ACCEPTFILTER + memset(&afa, 0, sizeof(afa)); + strcpy(afa.af_name, "httpready"); + setsockopt(server_socket, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa)); +#endif + lprintf(LOG_INFO,"%04d Web Server socket opened",server_socket); /*****************************/