From:             foxgoblin at gmail dot com
Operating system: windows xp
PHP version:      5CVS-2007-08-14 (snap)
PHP Bug Type:     cURL related
Bug description:  curl_copy_handle use curl_multi_exec get nothing.

Description:
------------
use curl_copy_handle copy the curl handle, add in curl multi handle,
curl_multi_exec return nothing.

Reproduce code:
---------------
<?
function getMultiCUrlContent($chs){
        $contents = array();
        $mh = curl_multi_init();
        foreach($chs as $key => $ch){
                curl_multi_add_handle($mh,$ch);
        }
        do {
          $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
        while ($active and $mrc == CURLM_OK) {
          // wait for network
          if (curl_multi_select($mh) != -1) {
           // pull in any new data, or at least handle timeouts
           do {
             $mrc = curl_multi_exec($mh, $active);
           } while ($mrc == CURLM_CALL_MULTI_PERFORM);
          }
        }
        if ($mrc != CURLM_OK) {
          echo "[".date("Y-m-d H:i:s")."]\t[getMultiCUrlContent
error]\t".$mrc."\n";
        }
        foreach($chs as $key => $ch){
                if(curl_errno($ch) == CURLE_OK){
                        $contents[$key]= curl_multi_getcontent($ch);
                }
                else{
                        echo "[".date("Y-m-d H:i:s")."]\t[get content
error]\t".curl_error($ch)."\n";
                }
        }
        curl_multi_close($mh);
        return $contents;
}

$chs = array();
$ch = curl_init("http://www.google.com/";);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
$chs[] = $ch;
$ch = curl_copy_handle($ch);
$chs[] = $ch;
$contents = getMultiCUrlContent($chs);
print_r($contents);
?>

Expected result:
----------------
Array
(
    [0] => <html><head><meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1"><title>Google</title>...
    [1] => <html><head><meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1"><title>Google</title>...
)

Actual result:
--------------
Array
(
    [0] => <html><head><meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1"><title>Google</title>...
    [1] => 
)

-- 
Edit bug report at http://bugs.php.net/?id=42300&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=42300&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=42300&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=42300&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=42300&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=42300&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=42300&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=42300&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=42300&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=42300&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=42300&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=42300&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=42300&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=42300&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=42300&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=42300&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=42300&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=42300&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=42300&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=42300&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=42300&r=mysqlcfg

Reply via email to