httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 56727] HTTP request failed after listening on multiple ports or enabling SSL Module on my Linux Board
Date Mon, 21 Jul 2014 13:49:15 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=56727

--- Comment #5 from Ritesh Prajapati <ritesh.prajapati@slscorp.com> ---
I have also found while debugging apr_bucket_read() function that read() system
call executed from apr_socket_recv() function (network_io/unix/sendrecv.c file
of Apr Package) blocks HTTP request after listening on multiple ports. 


apr_status_t apr_socket_recv(apr_socket_t *sock, char *buf, apr_size_t *len)
{
    apr_ssize_t rv;
    apr_status_t arv;

    if (sock->options & APR_INCOMPLETE_READ) {
        sock->options &= ~APR_INCOMPLETE_READ;
        goto do_select;
    }

    do {
        rv = read(sock->socketdes, buf, (*len));  ---> Never return from Here
    } while (rv == -1 && errno == EINTR);


That apr_socket_recv() function is called from socket_bucket_read() function of
Apr-Util source package (buckets/apr_buckets_socket.c file).

And that socket_bucket_read() function is called from ap_get_brigade() API
(util_filters.c file) of http source package to read data from bucket.

So, this issue is caused while reading data from bucket from
httpd->Apr-Util->Apr when sending HTTP request on multiple Listen Ports.

We have also checked NON_Block Mode using apr_is_option_set() function and it
gives that APR mode is set as NON_Block Mode but still HTTP request never
returns from that read() system call of apr_socket_recv() function.

Please let me know if any one has idea about this.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message