https://issues.apache.org/bugzilla/show_bug.cgi?id=51689
--- Comment #8 from Ritesh Prajapati <[email protected]> --- 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: [email protected] For additional commands, e-mail: [email protected]
