Uhm, don't know what it is, but trunk runs out of open files in my load tests now after a few seconds...
> Am 20.02.2017 um 14:50 schrieb yla...@apache.org: > > Author: ylavic > Date: Mon Feb 20 13:50:49 2017 > New Revision: 1783759 > > URL: http://svn.apache.org/viewvc?rev=1783759&view=rev > Log: > Follow up to r1783755: update APLOGNO. > > Modified: > httpd/httpd/trunk/docs/log-message-tags/next-number > httpd/httpd/trunk/include/mod_core.h > httpd/httpd/trunk/modules/filters/mod_include.c > httpd/httpd/trunk/modules/http2/h2_conn.c > httpd/httpd/trunk/server/main.c > httpd/httpd/trunk/server/mpm/event/event.c > httpd/httpd/trunk/server/mpm_unix.c > httpd/httpd/trunk/server/request.c > > Modified: httpd/httpd/trunk/docs/log-message-tags/next-number > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/log-message-tags/next-number?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/docs/log-message-tags/next-number (original) > +++ httpd/httpd/trunk/docs/log-message-tags/next-number Mon Feb 20 13:50:49 > 2017 > @@ -1 +1 @@ > -10003 > +10004 > > Modified: httpd/httpd/trunk/include/mod_core.h > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/include/mod_core.h?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/include/mod_core.h (original) > +++ httpd/httpd/trunk/include/mod_core.h Mon Feb 20 13:50:49 2017 > @@ -45,6 +45,10 @@ AP_DECLARE_DATA extern ap_filter_rec_t * > AP_DECLARE_DATA extern ap_filter_rec_t *ap_http_outerror_filter_handle; > AP_DECLARE_DATA extern ap_filter_rec_t *ap_byterange_filter_handle; > > +typedef struct { > + apr_bucket_brigade *tmp_bb; > +} http_conn_config; > + > /* > * These (input) filters are internal to the mod_core operation. > */ > > Modified: httpd/httpd/trunk/modules/filters/mod_include.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_include.c?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/modules/filters/mod_include.c (original) > +++ httpd/httpd/trunk/modules/filters/mod_include.c Mon Feb 20 13:50:49 2017 > @@ -3783,6 +3783,7 @@ static apr_status_t send_parsed_content( > /* if something's left over, pass it along */ > if (!APR_BRIGADE_EMPTY(pass_bb)) { > rv = ap_pass_brigade(f->next, pass_bb); > + apr_brigade_cleanup(pass_bb); > } > else { > rv = APR_SUCCESS; > > Modified: httpd/httpd/trunk/modules/http2/h2_conn.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_conn.c?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/modules/http2/h2_conn.c (original) > +++ httpd/httpd/trunk/modules/http2/h2_conn.c Mon Feb 20 13:50:49 2017 > @@ -280,7 +280,7 @@ conn_rec *h2_slave_create(conn_rec *mast > status = apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_DEFAULT, pool); > if (status != APR_SUCCESS) { > ap_log_cerror(APLOG_MARK, APLOG_ERR, status, master, > - APLOGNO() "h2_session(%ld-%d): create slave mutex", > + APLOGNO(10004) "h2_session(%ld-%d): create slave > mutex", > master->id, slave_id); > apr_pool_destroy(pool); > return NULL; > > Modified: httpd/httpd/trunk/server/main.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/server/main.c?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/server/main.c (original) > +++ httpd/httpd/trunk/server/main.c Mon Feb 20 13:50:49 2017 > @@ -735,6 +735,8 @@ int main(int argc, const char * const ar > apr_pool_clear(pconf); > ap_clear_auth_internal(); > > + apr_sleep(apr_time_from_sec(10)); > + > ap_main_state = AP_SQ_MS_CREATE_CONFIG; > ap_config_generation++; > for (mod = ap_prelinked_modules; *mod != NULL; mod++) { > > Modified: httpd/httpd/trunk/server/mpm/event/event.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/event/event.c?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/server/mpm/event/event.c (original) > +++ httpd/httpd/trunk/server/mpm/event/event.c Mon Feb 20 13:50:49 2017 > @@ -2135,7 +2135,7 @@ static void * APR_THREAD_FUNC listener_t > ptrans); > if (rc != APR_SUCCESS) { > ap_log_error(APLOG_MARK, APLOG_CRIT, rc, > - ap_server_conf, APLOGNO() > + ap_server_conf, APLOGNO(10003) > "Failed to create transaction pool > mutex"); > ap_push_pool(worker_queue_info, ptrans); > signal_threads(ST_GRACEFUL); > > Modified: httpd/httpd/trunk/server/mpm_unix.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm_unix.c?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/server/mpm_unix.c (original) > +++ httpd/httpd/trunk/server/mpm_unix.c Mon Feb 20 13:50:49 2017 > @@ -1015,14 +1015,13 @@ AP_DECLARE(apr_status_t) ap_fatal_signal > #ifndef NO_USE_SIGACTION > struct sigaction sa; > > + memset(&sa, 0, sizeof sa); > sigemptyset(&sa.sa_mask); > > #if defined(SA_ONESHOT) > sa.sa_flags = SA_ONESHOT; > #elif defined(SA_RESETHAND) > sa.sa_flags = SA_RESETHAND; > -#else > - sa.sa_flags = 0; > #endif > > sa.sa_handler = sig_coredump; > > Modified: httpd/httpd/trunk/server/request.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/server/request.c?rev=1783759&r1=1783758&r2=1783759&view=diff > ============================================================================== > --- httpd/httpd/trunk/server/request.c (original) > +++ httpd/httpd/trunk/server/request.c Mon Feb 20 13:50:49 2017 > @@ -2040,8 +2040,10 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_ > AP_CORE_DECLARE_NONSTD(apr_status_t) ap_request_core_filter(ap_filter_t *f, > > apr_bucket_brigade *bb) > { > + extern module http_module; > apr_bucket *flush_upto = NULL; > apr_status_t status = APR_SUCCESS; > + http_conn_config *conn_cfg = ap_get_module_config(f->c->conn_config, > &http_module); > apr_bucket_brigade *tmp_bb = f->ctx; > > /* > @@ -2056,12 +2058,13 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_ > if (!tmp_bb) { > tmp_bb = f->ctx = apr_brigade_create(f->r->pool, f->c->bucket_alloc); > } > + APR_BRIGADE_CONCAT(tmp_bb, bb); > > /* Reinstate any buffered content */ > - ap_filter_reinstate_brigade(f, bb, &flush_upto); > + ap_filter_reinstate_brigade(f, tmp_bb, &flush_upto); > > - while (!APR_BRIGADE_EMPTY(bb)) { > - apr_bucket *bucket = APR_BRIGADE_FIRST(bb); > + while (!APR_BRIGADE_EMPTY(tmp_bb)) { > + apr_bucket *bucket = APR_BRIGADE_FIRST(tmp_bb); > > /* if the core has set aside data, back off and try later */ > if (!flush_upto) { > @@ -2091,16 +2094,16 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_ > > /* pass each bucket down the chain */ > APR_BUCKET_REMOVE(bucket); > - APR_BRIGADE_INSERT_TAIL(tmp_bb, bucket); > + APR_BRIGADE_INSERT_TAIL(bb, bucket); > + status = ap_pass_brigade(f->next, bb); > + apr_brigade_cleanup(bb); > > - status = ap_pass_brigade(f->next, tmp_bb); > if (!APR_STATUS_IS_EOF(status) && (status != APR_SUCCESS)) { > return status; > } > - > } > > - ap_filter_setaside_brigade(f, bb); > + ap_filter_setaside_brigade(f, tmp_bb); > return status; > } > > >