@@ -220,11 +220,6 @@ private static function schedule(self $response, array &$runningResponses): void
220
220
*/
221
221
private static function perform (ClientState $ multi , array &$ responses = null ): void
222
222
{
223
- // List of native handles for stream_select()
224
- if (null !== $ responses ) {
225
- $ multi ->handles = [];
226
- }
227
-
228
223
foreach ($ multi ->openHandles as $ i => [$ h , $ buffer , $ onProgress ]) {
229
224
$ hasActivity = false ;
230
225
$ remaining = &$ multi ->openHandles [$ i ][3 ];
@@ -291,8 +286,6 @@ private static function perform(ClientState $multi, array &$responses = null): v
291
286
$ multi ->handlesActivity [$ i ][] = $ e ;
292
287
unset($ multi ->openHandles [$ i ]);
293
288
$ multi ->sleep = false ;
294
- } elseif (null !== $ responses ) {
295
- $ multi ->handles [] = $ h ;
296
289
}
297
290
}
298
291
@@ -307,7 +300,7 @@ private static function perform(ClientState $multi, array &$responses = null): v
307
300
}
308
301
}
309
302
310
- if (\count ($ multi ->handles ) >= $ multi ->maxHostConnections ) {
303
+ if (\count ($ multi ->openHandles ) >= $ multi ->maxHostConnections ) {
311
304
return ;
312
305
}
313
306
@@ -318,10 +311,6 @@ private static function perform(ClientState $multi, array &$responses = null): v
318
311
$ multi ->sleep = false ;
319
312
self ::perform ($ multi );
320
313
321
- if (null !== $ response ->handle ) {
322
- $ multi ->handles [] = $ response ->handle ;
323
- }
324
-
325
314
break ;
326
315
}
327
316
}
@@ -335,7 +324,8 @@ private static function perform(ClientState $multi, array &$responses = null): v
335
324
private static function select (ClientState $ multi , float $ timeout ): int
336
325
{
337
326
$ _ = [];
327
+ $ handles = array_column ($ multi ->openHandles , 0 );
338
328
339
- return (!$ multi ->sleep = !$ multi ->sleep ) ? -1 : stream_select ($ multi -> handles , $ _ , $ _ , (int ) $ timeout , (int ) (1E6 * ($ timeout - (int ) $ timeout )));
329
+ return (!$ multi ->sleep = !$ multi ->sleep ) ? -1 : stream_select ($ handles , $ _ , $ _ , (int ) $ timeout , (int ) (1E6 * ($ timeout - (int ) $ timeout )));
340
330
}
341
331
}
0 commit comments