| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             
             [2004-04-19 14:44 UTC] wez@php.net
  | 
    |||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 03:00:01 2025 UTC | 
Description: ------------ If a connection has already been established, pfsockopen will hang for 30 seconds before returning the correct persistent socket. strace reports the following: ... connect(3, {sa_family=AF_INET, sin_port=htons(11211), sin_addr=inet_addr("10.0.0.16")}, 16) = -1 EINPROGRESS (Operation now in progress) select(4, [3], [3], [3], {60, 0}) = 1 (out [3], left {60, 0}) getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 fcntl64(3, F_SETFL, O_RDWR) = 0 select(4, [3], NULL, NULL, {60, 0} *hang* The following patch seems to fix it: http://cvs.php.net/diff.php/php-src/main/network.c?sa=1&r1=1.83.2.21&r2=1.83.2.20&ty=u Maybe this needs backporting? http://cvs.php.net/cvs.php/php-src/main/streams/streams.c?sa=1#rev1.49 Reproduce code: --------------- <? $fp = pfsockopen("rembrandt", 11211); $fp = pfsockopen("rembrandt", 11211); ?>