poll->add() allways returns same id for the added socket, and only the
first added socket is actually polled.
This affects the current php version, does not occurs in 7.4
This problem seems to originate here:
zend_string *s_create_key(zval *entry)
{
if (Z_TYPE_P(entry) == IS_RESOURCE) {
/* zend_long since 8.1.0 */
return strpprintf(0, "r:%ld", (long)Z_RES_P(entry)->handle);
}
else {
#if PHP_VERSION_ID >= 80100
zend_string *hash = php_spl_object_hash(Z_OBJ_P(entry));
#else
zend_string *hash = php_spl_object_hash(entry);
#endif
zend_string *key = strpprintf(0, "o:%s", hash->val);
zend_string_release(hash);
return key;
}
}
Thank you.