diff options
| author | Remi Collet <remi@remirepo.net> | 2020-09-11 12:15:35 +0200 | 
|---|---|---|
| committer | Remi Collet <remi@remirepo.net> | 2020-09-11 12:15:35 +0200 | 
| commit | f252207863961c2e1431b6d0079fdbdd73b67f7f (patch) | |
| tree | 45f74f5776ea50b1c8767a36cf2e5ea5ce59a0aa /php-7.0.0-odbctimer.patch | |
duplicate php74 => php80
Diffstat (limited to 'php-7.0.0-odbctimer.patch')
| -rw-r--r-- | php-7.0.0-odbctimer.patch | 45 | 
1 files changed, 45 insertions, 0 deletions
| diff --git a/php-7.0.0-odbctimer.patch b/php-7.0.0-odbctimer.patch new file mode 100644 index 0000000..18bcf0f --- /dev/null +++ b/php-7.0.0-odbctimer.patch @@ -0,0 +1,45 @@ +diff -up php-7.0.0RC1/ext/odbc/php_odbc.c.odbctimer php-7.0.0RC1/ext/odbc/php_odbc.c +--- php-7.0.0RC1/ext/odbc/php_odbc.c.odbctimer	2015-08-18 23:39:26.000000000 +0200 ++++ php-7.0.0RC1/ext/odbc/php_odbc.c	2015-08-22 07:44:51.170196466 +0200 +@@ -434,7 +434,8 @@ static void _free_odbc_result(zend_resou + 			efree(res->values); + 			res->values = NULL; + 		} +-		if (res->stmt) { ++		/* If aborted via timer expiration, don't try to call any unixODBC function */ ++		if (res->stmt && !(PG(connection_status) & PHP_CONNECTION_TIMEOUT)) { + #if defined(HAVE_SOLID) || defined(HAVE_SOLID_30) || defined(HAVE_SOLID_35) + 			SQLTransact(res->conn_ptr->henv, res->conn_ptr->hdbc, + 						(SQLUSMALLINT) SQL_COMMIT); +@@ -484,9 +485,12 @@ static void _close_odbc_conn(zend_resour + 		} + 	} ZEND_HASH_FOREACH_END(); +  +-   	safe_odbc_disconnect(conn->hdbc); +-	SQLFreeConnect(conn->hdbc); +-	SQLFreeEnv(conn->henv); ++	/* If aborted via timer expiration, don't try to call any unixODBC function */ ++	if (!(PG(connection_status) & PHP_CONNECTION_TIMEOUT)) { ++		safe_odbc_disconnect(conn->hdbc); ++		SQLFreeConnect(conn->hdbc); ++		SQLFreeEnv(conn->henv); ++	} + 	efree(conn); + 	ODBCG(num_links)--; + } +@@ -509,9 +513,12 @@ static void _close_odbc_pconn(zend_resou + 		} + 	} ZEND_HASH_FOREACH_END(); +  +-	safe_odbc_disconnect(conn->hdbc); +-	SQLFreeConnect(conn->hdbc); +-	SQLFreeEnv(conn->henv); ++	/* If aborted via timer expiration, don't try to call any unixODBC function */ ++	if (!(PG(connection_status) & PHP_CONNECTION_TIMEOUT)) { ++		safe_odbc_disconnect(conn->hdbc); ++		SQLFreeConnect(conn->hdbc); ++		SQLFreeEnv(conn->henv); ++	} + 	free(conn); +  + 	ODBCG(num_links)--; | 
