summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/fbsql/php_fbsql.c10
-rw-r--r--ext/fbsql/php_fbsql.h5
2 files changed, 11 insertions, 4 deletions
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c
index d079448842..41e69ad9fe 100644
--- a/ext/fbsql/php_fbsql.c
+++ b/ext/fbsql/php_fbsql.c
@@ -237,7 +237,7 @@ zend_module_entry fbsql_module_entry = {
PHP_MINIT(fbsql),
PHP_MSHUTDOWN(fbsql),
PHP_RINIT(fbsql),
- NULL,
+ PHP_RSHUTDOWN(fbsql),
PHP_MINFO(fbsql),
STANDARD_MODULE_PROPERTIES
};
@@ -361,12 +361,13 @@ PHPFBLink* phpfbRetainLink (PHPFBLink* link)
void phpfbReleaseLink (PHPFBLink* link)
{
+ FBSQLLS_FETCH();
if (link)
{
link->retainCount--;
if (link->retainCount == 0)
{
-/* if (link->index == FB_SQL_G(linkIndex) FB_SQL_G(linkIndex = 0; */
+ if (link->index == FB_SQL_G(linkIndex)) FB_SQL_G(linkIndex)--;
free(link->hostName);
free(link->userName);
free(link->userPassword);
@@ -450,6 +451,11 @@ PHP_RINIT_FUNCTION(fbsql)
return SUCCESS;
}
+PHP_RSHUTDOWN_FUNCTION(fbsql)
+{
+ return SUCCESS;
+}
+
PHP_MINFO_FUNCTION(fbsql)
{
char buf[32];
diff --git a/ext/fbsql/php_fbsql.h b/ext/fbsql/php_fbsql.h
index 135b33971c..5d1e20a1a5 100644
--- a/ext/fbsql/php_fbsql.h
+++ b/ext/fbsql/php_fbsql.h
@@ -39,8 +39,9 @@ extern zend_module_entry fbsql_module_entry;
#include <FBCAccess/FBCAccess.h>
extern PHP_MINIT_FUNCTION(fbsql);
-extern PHP_RINIT_FUNCTION(fbsql);
extern PHP_MSHUTDOWN_FUNCTION(fbsql);
+extern PHP_RINIT_FUNCTION(fbsql);
+extern PHP_RSHUTDOWN_FUNCTION(fbsql);
PHP_MINFO_FUNCTION(fbsql);
PHP_FUNCTION(fbsql_connect);
PHP_FUNCTION(fbsql_pconnect);
@@ -106,7 +107,7 @@ ZEND_BEGIN_MODULE_GLOBALS(fbsql)
long databaseCount;
long resultCount;
- int linkIndex;
+ unsigned int linkIndex;
int databaseIndex;
int resultIndex;
ZEND_END_MODULE_GLOBALS(fbsql)