httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <minf...@sharp.fm>
Subject mod_ssl: why do we flush on EOS in ssl_io_filter_output()?
Date Mon, 28 Oct 2013 15:52:25 GMT
Hi all,

I am currently trying to find out why mod_ssl stops CONN_STATE_WRITE_COMPLETION from working
correctly, and have noticed that for no clear reason, mod_ssl flushes the output filters when
it receives an EOS bucket:

https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl/ssl_engine_io.c

        /* If it is a flush or EOS, we need to pass this down.
         * These types do not require translation by OpenSSL.
         */
        if (APR_BUCKET_IS_EOS(bucket) || APR_BUCKET_IS_FLUSH(bucket)) {
            if (bio_filter_out_flush(filter_ctx->pbioWrite) < 0) {
                status = outctx->rc;
                break;
            }

It would seem at the very least in order for any kind of write completion to be possible we
would need to stop mod_ssl from trying to flush on EOS. Is there a specific problem that mod_ssl
tries to solve by doing this?

What would happen if we removed the flush?

Regards,
Graham
--


Mime
View raw message