summaryrefslogtreecommitdiffstats
path: root/server/eor_bucket.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: add r->flushed flag and set it when the response is sent.Yann Ylavic2020-04-021-4/+11
| | | | | | | | | | | | | | | | | | | By setting EOR->r->flushed in the core output filter, allow one to determine at log_transaction hook time whether the request has been fully flushed through the network, or not (network issue, filter error, n-th pipelined resposne...). Introduce the ap_bucket_eor_request() helper to get the request bound to an EOR bucket, and uses it in ap_core_output_filter() to mark the EOR's request just before destroying it, after all the previous buckets have been sent. While at it, rename the request_rec* member of struct ap_bucket_eor from "data" to "r", which makes the code clearer (not to be confused with b->data). Finally, add CustomLog format %F, showing "F" or "-" depending on r->flushed, for admins to figure out for each request. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1876017 13f79535-47bb-0310-9956-ffa450edef68
* eor_bucket: follow up to r1707159.Yann Ylavic2015-10-071-3/+8
| | | | | | We need an apr_bucket_refcount, as spotted by Ruediger. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1707362 13f79535-47bb-0310-9956-ffa450edef68
* eor_bucket: follow up to r1707084: use an inner shared bucket.Yann Ylavic2015-10-071-26/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1707159 13f79535-47bb-0310-9956-ffa450edef68
* eor_bucket: follow up to r1707084: fix comment.Yann Ylavic2015-10-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1707093 13f79535-47bb-0310-9956-ffa450edef68
* eor_bucket: don't destroy the request multiple times should any filterYann Ylavic2015-10-061-1/+12
| | | | | | | do a copy (e.g. mod_bucketeer). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1707084 13f79535-47bb-0310-9956-ffa450edef68
* Change the eor bucket to use a pre-cleanup to run the log transaction hook.Stefan Fritsch2010-06-141-2/+3
| | | | | | | This fixes some segfaults. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@954590 13f79535-47bb-0310-9956-ffa450edef68
* * Move the tasks of eor_bucket_destroy (status update, transaction logging) toRuediger Pluem2006-09-291-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | a cleanup function that is registered with the request pool. eor_bucket_destroy only destroys the request pool if there is still a request at this point of time which triggers the call of the cleanup function. This is needed as the eor bucket could be (and usually is) allocated from a pool different from the request pool (the connection pool in this case). This can lead to situations where eor_bucket_destroy is called at a point of time when the request pool had been already destroyed. But the status update and the transaction logging rely on the request pool. In practise this happens with the worker MPM if the client refuses to read the response from the handler. Then the unsent data (including the eor bucket) remains in a brigade allocated from the connection pool which is the parent of the request pool. This brigade is cleaned up during the cleanup of the ptrans pool in worker_thread. As the request pool gets destroyed during this cleanup operation *before* the brigade gets cleaned up eor_bucket_destroy starts the status update and the transaction logging with a destroyed request pool which leads to a segfault. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@451279 13f79535-47bb-0310-9956-ffa450edef68
* update license header textRoy T. Fielding2006-07-111-6/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420983 13f79535-47bb-0310-9956-ffa450edef68
* Update the copyright year in all .c, .h and .xml filesColm MacCarthaigh2006-04-191-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395228 13f79535-47bb-0310-9956-ffa450edef68
* Update status before we run the logging hookJim Jagielski2006-01-061-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@366337 13f79535-47bb-0310-9956-ffa450edef68
* No functional Change: Removing trailing whitespace. This alsoJim Jagielski2005-11-101-2/+2
| | | | | | | | means that "blank" lines consisting of just spaces or tabs are now really blank lines git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
* Moved the extended_status scoreboard update from ap_process_http_connectionBrian Pane2005-10-301-0/+4
| | | | | | | | to the EOR bucket destructor. Also, added some defensive code and comments regarding r->pool lifetime to ap_process_http_connection. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@329664 13f79535-47bb-0310-9956-ffa450edef68
* * server/eor_bucket.c: Pick up ap_run_log_transaction prototype.Joe Orton2005-10-241-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@328069 13f79535-47bb-0310-9956-ffa450edef68
* Redesign of request cleanup and logging to use End-Of-Request bucketBrian Pane2005-10-241-0/+66
(backport from async-dev branch to 2.3 trunk) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327925 13f79535-47bb-0310-9956-ffa450edef68