The PHP NSAPI plugin for Sun Web Server could be made more efficient by using the pool_* APIs that are exposed by Sun Web Server's NSAPI interface.
The attached patch avoids invoking pthread_getspecific by using pool_malloc/pool_free instead of MALLOC/FREE. thx, arvi
diff -r ababbd629dca sapi/nsapi/nsapi.c --- a/sapi/nsapi/nsapi.c Wed Oct 28 12:32:40 2009 +0530 +++ b/sapi/nsapi/nsapi.c Wed Oct 28 12:34:38 2009 +0530 @@ -1003,7 +1003,11 @@ } } - request_context = (nsapi_request_context *)MALLOC(sizeof(nsapi_request_context)); + request_context = (nsapi_request_context *)pool_malloc(sn->pool, sizeof(nsapi_request_context)); + if (!request_context) { + log_error(LOG_CATASTROPHE, pblock_findval("fn", pb), sn, rq, "Insufficient memory to process PHP request!"); + return REQ_ABORTED; + } request_context->pb = pb; request_context->sn = sn; request_context->rq = rq; @@ -1064,7 +1068,7 @@ nsapi_free(SG(request_info).path_translated); nsapi_free((void*)(SG(request_info).content_type)); - FREE(request_context); + pool_free(sn->pool, request_context); SG(server_context) = NULL; return retval;
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php