* Fixed issues with inheritance and cloning of HttpDeflateStream, HttpInflateStream and HttpMessage
(Extending classes lose default properties on instantiation; Complex members ignored during cloning)
* Fixed suppression of nested exceptions in e.g. HttpRequestPool::send()
+* Fixed crash on detaching requests from pool in request event callbacks
]]></notes>
<contents>
<dir name="/">
<file role="test" name="HttpRequestPool_003.phpt"/>
<file role="test" name="HttpRequestPool_004.phpt"/>
<file role="test" name="HttpRequestPool_005.phpt"/>
+ <file role="test" name="HttpRequestPool_006.phpt"/>
<file role="test" name="HttpResponse_001.phpt"/>
<file role="test" name="HttpResponse_002.phpt"/>
<file role="test" name="HttpResponse_003.phpt"/>
--- /dev/null
+--TEST--
+HttpRequestPool detaching in callbacks
+--SKIPIF--
+<?php
+include 'skip.inc';
+checkcls("HttpRequestPool");
+checkurl("at.php.net");
+checkurl("de.php.net");
+?>
+--FILE--
+<?php
+echo "-TEST\n";
+class r1 extends HttpRequest {
+ function onProgress() {
+ $GLOBALS['p']->detach($this);
+ }
+}
+class r2 extends HttpRequest {
+ function onFinish() {
+ $GLOBALS['p']->detach($this);
+ }
+}
+$p = new HttpRequestPool(new r1("at.php.net"), new r2("de.php.net"));
+$p->send();
+var_dump($p->getAttachedRequests());
+echo "Done\n";
+?>
+--EXPECTF--
+%sTEST
+array(0) {
+}
+Done