ID:               26332
 Updated by:       [EMAIL PROTECTED]
 Reported By:      foxkill at gmx dot de
-Status:           Open
+Status:           Feedback
 Bug Type:         cURL related
 Operating System: Linux
 PHP Version:      5.0.0RC1-dev
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip

Works fine for me with latest CVS snapshot.




Previous Comments:
------------------------------------------------------------------------

[2004-02-25 05:08:08] foxkill at gmx dot de

You'll find the script to reproduce the error under:

http://www.secnow.de/websearch/websearch.txt



The script runs either in an endless loop or if it terminates it
prints:

Last leak repeated 2 times

/opt/local/src/lamp/php5-src/ext/curl/multi.c(62) :  Freeing 0x40291A34
(8 bytes), script=websearch.php

=== Total 4 memory leaks detected ===

------------------------------------------------------------------------

[2003-11-20 09:48:05] foxkill at gmx dot de

Description:
------------
I try to use curl_multi_fdset() together with curl_multi_exec() in
php5. But this doesn't work.

I modelled my php code after the sample (multi-app.c) which is provided
by the curl-src package.

Reproduce code:
---------------
this is the code I use for php5 (three single curl handles were
added):



while (CURLM_CALL_MULTI_PERFORM == curl_multi_exec($m, $still_running))


  ;



while ($still_running) {

     $fd = curl_multi_select($m, 1);



     switch($fd) {

        case -1:

        break;



        case 0:

        default:

        while (CURLM_CALL_MULTI_PERFORM == curl_multi_exec($m,
$still_running))

          ;

    }

}

Expected result:
----------------
The code should behave like the multi-app.c sample. See
[curl-src]/docs/examples/multi-app.c.

Actual result:
--------------
The code runs in an endless loop. Because curl_multi_exec() (alias
curl_multi_perform()) needs to reference the variables readfds,
writefds which were set by a previous call to curl_multi_fdset(). But
these fdsets have gone out of scope. The C Code works because the
fdsets are still present on the stack. See man 3 curl_multi_fdset for
further details. curl --version gives:



curl 7.10.8 (i686-pc-linux-gnu) libcurl/7.10.8 OpenSSL/0.9.7c
zlib/1.1.4

Protocols: ftp gopher ldap http file https ftps

Features: SSL libz NTLM




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26332&edit=1

Reply via email to