]> granicus.if.org Git - php/commitdiff
- Revert r313616 (When we have a blocking SSL socket, respect the timeout
authorJohannes Schlüter <johannes@php.net>
Mon, 22 Aug 2011 21:32:04 +0000 (21:32 +0000)
committerJohannes Schlüter <johannes@php.net>
Mon, 22 Aug 2011 21:32:04 +0000 (21:32 +0000)
  option, scottmac)

# This caused bug #55283, we should investigate a proper solution without
# breaking anything.

ext/openssl/xp_ssl.c

index e0f06a76dcbf801b8662c4f61a94f24f5a6cbb3f..4b4a144691805b7a95f87383863a69a21098807c 100644 (file)
@@ -204,36 +204,6 @@ static size_t php_openssl_sockop_write(php_stream *stream, const char *buf, size
        return didwrite;
 }
 
-static void php_openssl_stream_wait_for_data(php_stream *stream, php_netstream_data_t *sock TSRMLS_DC)
-{
-       int retval;
-       struct timeval *ptimeout;
-
-       if (sock->socket == -1) {
-               return;
-       }
-       
-       sock->timeout_event = 0;
-
-       if (sock->timeout.tv_sec == -1)
-               ptimeout = NULL;
-       else
-               ptimeout = &sock->timeout;
-
-       while(1) {
-               retval = php_pollfd_for(sock->socket, PHP_POLLREADABLE, ptimeout);
-
-               if (retval == 0)
-                       sock->timeout_event = 1;
-
-               if (retval >= 0)
-                       break;
-
-               if (php_socket_errno() != EINTR)
-                       break;
-       }
-}
-
 static size_t php_openssl_sockop_read(php_stream *stream, char *buf, size_t count TSRMLS_DC)
 {
        php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract;
@@ -243,13 +213,6 @@ static size_t php_openssl_sockop_read(php_stream *stream, char *buf, size_t coun
                int retry = 1;
 
                do {
-                       if (sslsock->s.is_blocked) {
-                               php_openssl_stream_wait_for_data(stream, &(sslsock->s) TSRMLS_CC);
-                               if (sslsock->s.timeout_event) {
-                                       break;
-                               }
-                               /* there is no guarantee that there is application data available but something is there */
-                       }
                        nr_bytes = SSL_read(sslsock->ssl_handle, buf, count);
 
                        if (nr_bytes <= 0) {