php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #44197 socket array keys lost on socket_select
Submitted: 2008-02-21 00:18 UTC Modified: 2012-03-23 17:27 UTC
Votes:4
Avg. Score:3.5 ± 0.9
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:1 (50.0%)
From: darrel dot opry at gmail dot com Assigned: nikic (profile)
Status: Closed Package: Sockets related
PHP Version: 5.2.5 OS: Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: darrel dot opry at gmail dot com
New email:
PHP Version: OS:

 

 [2008-02-21 00:18 UTC] darrel dot opry at gmail dot com
Description:
------------
When you pass a keyed array of sockets into socket_select the keys are lost.

Reproduce code:
---------------
$clients = array();
$listener = socket_create_listen(9999);
$clients[uniqid()] = socket_accept($listener);

$read = $clients;
print_r($read);
socket_select($read, $w = NULL, $e = NULL, NULL);
print_r($read);
socket_shutdown($listener);
socket_close($listener);

Expected result:
----------------
to test: 
telnet localhost 9999
enter text, hit enter.


I expect the second print_r($read) to have the same key as the first print_r($read).

Actual result:
--------------
Array
(
     [47bcc1d71874d] => Resource id #5
)
Array 
(
     [0] => Resource id #5
)

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-02-21 02:35 UTC] felipe@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 [2008-07-15 13:01 UTC] jani@php.net
Note: This fix is in PHP 5.3.0 and upwards as it changes the behaviour.. 
 [2008-12-27 05:46 UTC] philip@php.net
What exactly is the change in behaviour?
 [2012-03-23 17:27 UTC] nikic@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: nikic
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Mon Apr 07 15:01:31 2025 UTC