summaryrefslogtreecommitdiff
path: root/ext/mssql/php_mssql.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mssql/php_mssql.c')
-rw-r--r--ext/mssql/php_mssql.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c
index b780b31bb3..eea62134ff 100644
--- a/ext/mssql/php_mssql.c
+++ b/ext/mssql/php_mssql.c
@@ -222,6 +222,7 @@ static void _free_mssql_result(zend_rsrc_list_entry *rsrc TSRMLS_DC)
mssql_result *result = (mssql_result *)rsrc->ptr;
_free_result(result, 1);
+ dbcancel(result->mssql_ptr->link);
efree(result);
}
@@ -1230,6 +1231,7 @@ PHP_FUNCTION(mssql_query)
}
if (dbsqlexec(mssql_ptr->link)==FAIL || (retvalue = dbresults(mssql_ptr->link))==FAIL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Query failed");
+ dbcancel(mssql_ptr->link);
RETURN_FALSE;
}
@@ -1244,6 +1246,7 @@ PHP_FUNCTION(mssql_query)
retvalue=dbnextrow(mssql_ptr->link);
if (retvalue==FAIL) {
+ dbcancel(mssql_ptr->link);
RETURN_FALSE;
}
@@ -2182,6 +2185,7 @@ PHP_FUNCTION(mssql_execute)
if (dbrpcexec(mssql_ptr->link)==FAIL || dbsqlok(mssql_ptr->link)==FAIL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "stored procedure execution failed");
+ dbcancel(mssql_ptr->link);
RETURN_FALSE;
}
@@ -2189,6 +2193,7 @@ PHP_FUNCTION(mssql_execute)
if (retval_results==FAIL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not retrieve results");
+ dbcancel(mssql_ptr->link);
RETURN_FALSE;
}