andrey Mon, 28 Dec 2009 11:17:10 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=292714
Log:
move network creation to the init hook
Changed paths:
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
U php/php-src/trunk/ext/mysqlnd/mysqlnd.c
U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-12-28 10:07:42 UTC
(rev 292713)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2009-12-28 11:17:10 UTC
(rev 292714)
@@ -2019,8 +2019,11 @@
MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC);
+static void MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC);
+
MYSQLND_CLASS_METHODS_START(mysqlnd_conn)
+ MYSQLND_METHOD(mysqlnd_conn, init),
MYSQLND_METHOD(mysqlnd_conn, connect),
MYSQLND_METHOD(mysqlnd_conn, escape_string),
@@ -2086,6 +2089,20 @@
MYSQLND_CLASS_METHODS_END;
+/* {{{ mysqlnd_conn::init */
+static void
+MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC)
+{
+ DBG_ENTER("mysqlnd_conn::init");
+ conn->net = mysqlnd_net_init(conn->persistent TSRMLS_CC);
+
+ SET_ERROR_AFF_ROWS(conn);
+
+ DBG_VOID_RETURN;
+}
+/* }}} */
+
+
/* {{{ mysqlnd_init */
PHPAPI MYSQLND *_mysqlnd_init(zend_bool persistent TSRMLS_DC)
{
@@ -2095,20 +2112,18 @@
DBG_ENTER("mysqlnd_init");
DBG_INF_FMT("persistent=%d", persistent);
- SET_ERROR_AFF_ROWS(ret);
ret->persistent = persistent;
-
ret->m = mysqlnd_conn_methods;
+ CONN_SET_STATE(ret, CONN_ALLOCED);
ret->m->get_reference(ret TSRMLS_CC);
- ret->net = mysqlnd_net_init(persistent TSRMLS_CC);
+ ret->m->init(ret TSRMLS_CC);
- CONN_SET_STATE(ret, CONN_ALLOCED);
-
DBG_RETURN(ret);
}
/* }}} */
+
/* {{{ mysqlnd_library_init */
void mysqlnd_library_init(TSRMLS_D)
{
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-12-28
10:07:42 UTC (rev 292713)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h 2009-12-28
11:17:10 UTC (rev 292714)
@@ -245,6 +245,7 @@
struct st_mysqlnd_conn_methods
{
+ void (*init)(MYSQLND * conn TSRMLS_DC);
enum_func_status (*connect)(MYSQLND *conn, const char *host,
const char * user, const char * passwd, unsigned int passwd_len, const char *
db, unsigned int db_len, unsigned int port, const char * socket, unsigned int
mysql_flags TSRMLS_DC);
ulong (*escape_string)(const MYSQLND * const
conn, char *newstr, const char *escapestr, size_t escapestr_len TSRMLS_DC);
enum_func_status (*set_charset)(MYSQLND * const conn, const char
* const charset TSRMLS_DC);
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-12-28 10:07:42 UTC (rev
292713)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2009-12-28 11:17:10 UTC (rev
292714)
@@ -2019,8 +2019,11 @@
MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC);
+static void MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC);
+
MYSQLND_CLASS_METHODS_START(mysqlnd_conn)
+ MYSQLND_METHOD(mysqlnd_conn, init),
MYSQLND_METHOD(mysqlnd_conn, connect),
MYSQLND_METHOD(mysqlnd_conn, escape_string),
@@ -2086,6 +2089,20 @@
MYSQLND_CLASS_METHODS_END;
+/* {{{ mysqlnd_conn::init */
+static void
+MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC)
+{
+ DBG_ENTER("mysqlnd_conn::init");
+ conn->net = mysqlnd_net_init(conn->persistent TSRMLS_CC);
+
+ SET_ERROR_AFF_ROWS(conn);
+
+ DBG_VOID_RETURN;
+}
+/* }}} */
+
+
/* {{{ mysqlnd_init */
PHPAPI MYSQLND *_mysqlnd_init(zend_bool persistent TSRMLS_DC)
{
@@ -2095,20 +2112,18 @@
DBG_ENTER("mysqlnd_init");
DBG_INF_FMT("persistent=%d", persistent);
- SET_ERROR_AFF_ROWS(ret);
ret->persistent = persistent;
-
ret->m = mysqlnd_conn_methods;
+ CONN_SET_STATE(ret, CONN_ALLOCED);
ret->m->get_reference(ret TSRMLS_CC);
- ret->net = mysqlnd_net_init(persistent TSRMLS_CC);
+ ret->m->init(ret TSRMLS_CC);
- CONN_SET_STATE(ret, CONN_ALLOCED);
-
DBG_RETURN(ret);
}
/* }}} */
+
/* {{{ mysqlnd_library_init */
void mysqlnd_library_init(TSRMLS_D)
{
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2009-12-28 10:07:42 UTC
(rev 292713)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2009-12-28 11:17:10 UTC
(rev 292714)
@@ -245,6 +245,7 @@
struct st_mysqlnd_conn_methods
{
+ void (*init)(MYSQLND * conn TSRMLS_DC);
enum_func_status (*connect)(MYSQLND *conn, const char *host,
const char * user, const char * passwd, unsigned int passwd_len, const char *
db, unsigned int db_len, unsigned int port, const char * socket, unsigned int
mysql_flags TSRMLS_DC);
ulong (*escape_string)(const MYSQLND * const
conn, char *newstr, const char *escapestr, size_t escapestr_len TSRMLS_DC);
enum_func_status (*set_charset)(MYSQLND * const conn, const char
* const charset TSRMLS_DC);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php