mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
pg_close was undefining default_conn even if a ref to it was still there.
This commit is contained in:
parent
5a0056842d
commit
99e5dfd00e
@ -501,7 +501,8 @@ PHP_FUNCTION(pg_pconnect)
|
|||||||
PHP_FUNCTION(pg_close)
|
PHP_FUNCTION(pg_close)
|
||||||
{
|
{
|
||||||
zval **pgsql_link = NULL;
|
zval **pgsql_link = NULL;
|
||||||
int id;
|
void *ptr;
|
||||||
|
int id, type;
|
||||||
PGconn *pgsql;
|
PGconn *pgsql;
|
||||||
PGLS_FETCH();
|
PGLS_FETCH();
|
||||||
|
|
||||||
@ -527,12 +528,15 @@ PHP_FUNCTION(pg_close)
|
|||||||
|
|
||||||
if (id==-1) { /* explicit resource number */
|
if (id==-1) { /* explicit resource number */
|
||||||
zend_list_delete(Z_RESVAL_PP(pgsql_link));
|
zend_list_delete(Z_RESVAL_PP(pgsql_link));
|
||||||
|
ptr = zend_list_find(Z_RESVAL_PP(pgsql_link),&type);
|
||||||
|
if (ptr && (type==le_link || type==le_plink)) {
|
||||||
|
RETURN_TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id!=-1
|
if (id!=-1
|
||||||
|| (pgsql_link && Z_RESVAL_PP(pgsql_link)==PGG(default_link))) {
|
|| (pgsql_link && Z_RESVAL_PP(pgsql_link)==PGG(default_link))) {
|
||||||
if (id!=-1)
|
zend_list_delete(PGG(default_link));
|
||||||
zend_list_delete(PGG(default_link));
|
|
||||||
PGG(default_link) = -1;
|
PGG(default_link) = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user