manoj 99/06/30 12:10:40
Modified: mpm/src/modules/mpm/mpmt_pthread http_accept.c Log: Take out support for SINGLE_LISTEN_UNSERIALIZED_ACCEPT, at least for now. Revision Changes Path 1.4 +7 -16 apache-2.0/mpm/src/modules/mpm/mpmt_pthread/http_accept.c Index: http_accept.c =================================================================== RCS file: /home/cvs/apache-2.0/mpm/src/modules/mpm/mpmt_pthread/http_accept.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -u -r1.3 -r1.4 --- http_accept.c 1999/06/29 02:49:27 1.3 +++ http_accept.c 1999/06/30 19:10:40 1.4 @@ -77,13 +77,9 @@ #if defined (USE_ACCEPT_QUEUE) #include "fdqueue.h" -#ifdef SINGLE_LISTEN_UNSERIALIZED_ACCEPT -/* Each thread only listens to one socket in this model, so the starvation - * problem described in manual/misc/perf-tuning.html can't occur here */ -#define SAFE_ACCEPT(stmt) -#else +/* In the current state of the server, It is never safe not to do accept + * serialization. Maybe we can change this. */ #define SAFE_ACCEPT(stmt) do {stmt;} while(0) -#endif /* The queue of sockets we've accepted */ static FDQueue csd_queue; @@ -293,16 +289,15 @@ #elif defined(USE_MULTI_ACCEPT) -#ifdef SINGLE_LISTEN_UNSERIALIZED_ACCEPT -#define SAFE_ACCEPT(stmt) do {if (ap_listeners->next != NULL) {stmt;}} while(0) -#else -#define SAFE_ACCEPT(stmt) do {stmt;} while(0) -#endif - /* * USE_MULTI_ACCEPT * Worker threads do the accept and process the request. */ + +/* In the current state of the server, It is never safe not to do accept + * serialization. Maybe we can change this. */ +#define SAFE_ACCEPT(stmt) do {stmt;} while(0) + static struct pollfd *listenfds; static int last_pollfd = 0; @@ -404,10 +399,6 @@ continue; } - /* This conditional is used because the single listen case - * is the only one where the accept might not be serialized. - * In that case, multiple threads mucking around with - * listenfds or last_pollfd will be harmful */ if (num_listenfds == 1) { /* only one socket, just pretend we did the other stuff */ sd = ap_listeners->fd;