diff options
author | Andrey Hristov <andrey@php.net> | 2010-01-08 13:47:03 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2010-01-08 13:47:03 +0000 |
commit | 3264e51983b46ee4951a14b591e8d80a542551b5 (patch) | |
tree | bb3d3cfb5c1dcb93a20e82e80fa96115d50a6221 /ext/mysqlnd/mysqlnd.c | |
parent | c18d4364ed0c16ff784418d9f0c54af9701c9d5a (diff) | |
download | php-git-3264e51983b46ee4951a14b591e8d80a542551b5.tar.gz |
add restart_psession and end_psession hooks
Diffstat (limited to 'ext/mysqlnd/mysqlnd.c')
-rw-r--r-- | ext/mysqlnd/mysqlnd.c | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index b66c458cde..b253b64907 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -411,26 +411,43 @@ MYSQLND_METHOD(mysqlnd_conn, set_server_option)(MYSQLND * const conn, PHPAPI void _mysqlnd_restart_psession(MYSQLND *conn TSRMLS_DC) { DBG_ENTER("_mysqlnd_restart_psession"); + conn->m->restart_psession(conn TSRMLS_CC); + DBG_VOID_RETURN; +} +/* }}} */ + + +/* {{{ _mysqlnd_end_psession */ +PHPAPI void _mysqlnd_end_psession(MYSQLND *conn TSRMLS_DC) +{ + DBG_ENTER("_mysqlnd_end_psession"); + conn->m->end_psession(conn TSRMLS_CC); + DBG_VOID_RETURN; +} +/* }}} */ + +/* {{{ mysqlnd_conn::restart_psession */ +static enum_func_status +MYSQLND_METHOD(mysqlnd_conn, restart_psession)(MYSQLND * conn TSRMLS_DC) +{ + DBG_ENTER("mysqlnd_conn::restart_psession"); MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_CONNECT_REUSED); /* Free here what should not be seen by the next script */ if (conn->last_message) { mnd_pefree(conn->last_message, conn->persistent); conn->last_message = NULL; } - /* - The thd zval cache is always freed on request shutdown, so this has happened already. - Don't touch the old value! Get new reference - */ - DBG_VOID_RETURN; + DBG_RETURN(PASS); } /* }}} */ -/* {{{ _mysqlnd_end_psession */ -PHPAPI void _mysqlnd_end_psession(MYSQLND *conn TSRMLS_DC) +/* {{{ mysqlnd_conn::end_psession */ +static enum_func_status +MYSQLND_METHOD(mysqlnd_conn, end_psession)(MYSQLND * conn TSRMLS_DC) { - DBG_ENTER("_mysqlnd_end_psession"); - DBG_VOID_RETURN; + DBG_ENTER("mysqlnd_conn::end_psession"); + DBG_RETURN(PASS); } /* }}} */ @@ -2081,7 +2098,9 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn) MYSQLND_METHOD_PRIVATE(mysqlnd_conn, set_state), MYSQLND_METHOD(mysqlnd_conn, simple_command), - MYSQLND_METHOD(mysqlnd_conn, simple_command_handle_response) + MYSQLND_METHOD(mysqlnd_conn, simple_command_handle_response), + MYSQLND_METHOD(mysqlnd_conn, restart_psession), + MYSQLND_METHOD(mysqlnd_conn, end_psession) MYSQLND_CLASS_METHODS_END; |