|
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: Mon Nov 03 06: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); ?>