diff options
Diffstat (limited to 'ext/pdo/pdo_dbh.c')
-rw-r--r-- | ext/pdo/pdo_dbh.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c index a89276cfce..bfb65f48e2 100644 --- a/ext/pdo/pdo_dbh.c +++ b/ext/pdo/pdo_dbh.c @@ -359,18 +359,11 @@ static PHP_METHOD(PDO, dbh_constructor) /* all set */ if (is_persistent) { - zend_resource le; - /* register in the persistent list etc. */ /* we should also need to replace the object store entry, since it was created with emalloc */ - - le.type = php_pdo_list_entry(); - le.ptr = dbh; - GC_SET_REFCOUNT(&le, 1); - - if ((zend_hash_str_update_mem(&EG(persistent_list), - (char*)dbh->persistent_id, dbh->persistent_id_len, &le, sizeof(le))) == NULL) { + if ((zend_register_persistent_resource( + (char*)dbh->persistent_id, dbh->persistent_id_len, dbh, php_pdo_list_entry())) == NULL) { php_error_docref(NULL, E_ERROR, "Failed to register persistent entry"); } } |