summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2010-02-09 19:05:40 +0000
committerAndrey Hristov <andrey@php.net>2010-02-09 19:05:40 +0000
commit5dff8f90451fb048bd29446c6b43a52e472d6cfb (patch)
tree14fbfd4e753ddfd847ed0e1c2afac875412b37ef
parent6e8f829b0bfc5c89c7b711a762be847223fbc6de (diff)
downloadphp-git-5dff8f90451fb048bd29446c6b43a52e472d6cfb.tar.gz
make send_close a hook, too
-rw-r--r--ext/mysqlnd/mysqlnd.c13
-rw-r--r--ext/mysqlnd/mysqlnd_structs.h1
2 files changed, 7 insertions, 7 deletions
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c
index 6fa5eae5c0..4ac6077a16 100644
--- a/ext/mysqlnd/mysqlnd.c
+++ b/ext/mysqlnd/mysqlnd.c
@@ -64,8 +64,6 @@ PHPAPI const char * const mysqlnd_out_of_sync = "Commands out of sync; you can't
PHPAPI MYSQLND_STATS *mysqlnd_global_stats = NULL;
static zend_bool mysqlnd_library_initted = FALSE;
-static enum_func_status mysqlnd_send_close(MYSQLND * conn TSRMLS_DC);
-
static struct st_mysqlnd_conn_methods *mysqlnd_conn_methods;
/* {{{ mysqlnd_library_end */
@@ -491,7 +489,7 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND *conn,
if (CONN_GET_STATE(conn) < CONN_QUIT_SENT) {
MYSQLND_INC_CONN_STATISTIC(conn->stats, STAT_CLOSE_IMPLICIT);
reconnect = TRUE;
- mysqlnd_send_close(conn TSRMLS_CC);
+ conn->m->send_close(conn TSRMLS_CC);
}
conn->m->free_contents(conn TSRMLS_CC);
@@ -1378,7 +1376,7 @@ MYSQLND_METHOD(mysqlnd_conn, shutdown)(MYSQLND * const conn, uint8_t level TSRML
/* {{{ mysqlnd_send_close */
static enum_func_status
-mysqlnd_send_close(MYSQLND * conn TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_conn, send_close)(MYSQLND * const conn TSRMLS_DC)
{
enum_func_status ret = PASS;
@@ -1458,7 +1456,7 @@ MYSQLND_METHOD(mysqlnd_conn, close)(MYSQLND * conn, enum_connection_close_type c
Close now, free_reference will try,
if we are last, but that's not a problem.
*/
- ret = mysqlnd_send_close(conn TSRMLS_CC);
+ ret = conn->m->send_close(conn TSRMLS_CC);
ret = conn->m->free_reference(conn TSRMLS_CC);
@@ -1492,7 +1490,7 @@ MYSQLND_METHOD_PRIVATE(mysqlnd_conn, free_reference)(MYSQLND * const conn TSRMLS
This will free the object too, of course because references has
reached zero.
*/
- ret = mysqlnd_send_close(conn TSRMLS_CC);
+ ret = conn->m->send_close(conn TSRMLS_CC);
conn->m->dtor(conn TSRMLS_CC);
}
DBG_RETURN(ret);
@@ -2099,7 +2097,8 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn)
MYSQLND_METHOD(mysqlnd_conn, simple_command),
MYSQLND_METHOD(mysqlnd_conn, simple_command_handle_response),
MYSQLND_METHOD(mysqlnd_conn, restart_psession),
- MYSQLND_METHOD(mysqlnd_conn, end_psession)
+ MYSQLND_METHOD(mysqlnd_conn, end_psession),
+ MYSQLND_METHOD(mysqlnd_conn, send_close)
MYSQLND_CLASS_METHODS_END;
diff --git a/ext/mysqlnd/mysqlnd_structs.h b/ext/mysqlnd/mysqlnd_structs.h
index 2cf9804aed..c801c1c5fb 100644
--- a/ext/mysqlnd/mysqlnd_structs.h
+++ b/ext/mysqlnd/mysqlnd_structs.h
@@ -346,6 +346,7 @@ struct st_mysqlnd_conn_methods
enum_func_status (*restart_psession)(MYSQLND *conn TSRMLS_DC);
enum_func_status (*end_psession)(MYSQLND *conn TSRMLS_DC);
+ enum_func_status (*send_close)(MYSQLND * conn TSRMLS_DC);
};