[PHP-CVS] svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/standard/lcg.c branches/PHP_5_3/NEWS branches/PHP_5_3/ext/standard/lcg.c trunk/ext/standard/lcg.c
rasmus Fri, 08 Jan 2010 09:43:14 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293253 Log: Worked with Samy Kamkar to improve LCG entropy. Changed paths: U php/php-src/branches/PHP_5_2/NEWS U php/php-src/branches/PHP_5_2/ext/standard/lcg.c U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/standard/lcg.c U php/php-src/trunk/ext/standard/lcg.c Modified: php/php-src/branches/PHP_5_2/NEWS === --- php/php-src/branches/PHP_5_2/NEWS 2010-01-08 09:32:23 UTC (rev 293252) +++ php/php-src/branches/PHP_5_2/NEWS 2010-01-08 09:43:14 UTC (rev 293253) @@ -11,6 +11,8 @@ - Fixed build of mysqli with MySQL 5.5.0-m2. (Andrey) +- Improved LCG entropy (Rasmus, Samy Kamkar) + - Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia) - Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob) Modified: php/php-src/branches/PHP_5_2/ext/standard/lcg.c === --- php/php-src/branches/PHP_5_2/ext/standard/lcg.c 2010-01-08 09:32:23 UTC (rev 293252) +++ php/php-src/branches/PHP_5_2/ext/standard/lcg.c 2010-01-08 09:43:14 UTC (rev 293253) @@ -78,7 +78,7 @@ struct timeval tv; if (gettimeofday(tv, NULL) == 0) { - LCG(s1) = tv.tv_sec ^ (~tv.tv_usec); + LCG(s1) = tv.tv_sec ^ (tv.tv_usec11); } else { LCG(s1) = 1; } @@ -88,6 +88,11 @@ LCG(s2) = (long) getpid(); #endif + /* Add entropy to s2 by calling gettimeofday() again */ + if (gettimeofday(tv, NULL) == 0) { + LCG(s2) ^= (tv.tv_usec11); + } + LCG(seeded) = 1; } Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2010-01-08 09:32:23 UTC (rev 293252) +++ php/php-src/branches/PHP_5_3/NEWS 2010-01-08 09:43:14 UTC (rev 293253) @@ -7,6 +7,7 @@ - Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL. (Ilia) - Added stream_resolve_include_path(). (Mikko) +- Improved LCG entropy (Rasmus, Samy Kamkar) - Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia) Modified: php/php-src/branches/PHP_5_3/ext/standard/lcg.c === --- php/php-src/branches/PHP_5_3/ext/standard/lcg.c 2010-01-08 09:32:23 UTC (rev 293252) +++ php/php-src/branches/PHP_5_3/ext/standard/lcg.c 2010-01-08 09:43:14 UTC (rev 293253) @@ -78,7 +78,7 @@ struct timeval tv; if (gettimeofday(tv, NULL) == 0) { - LCG(s1) = tv.tv_sec ^ (~tv.tv_usec); + LCG(s1) = tv.tv_sec ^ (tv.tv_usec11); } else { LCG(s1) = 1; } @@ -88,6 +88,11 @@ LCG(s2) = (long) getpid(); #endif + /* Add entropy to s2 by calling gettimeofday() again */ + if (gettimeofday(tv, NULL) == 0) { + LCG(s2) ^= (tv.tv_usec11); + } + LCG(seeded) = 1; } /* }}} */ Modified: php/php-src/trunk/ext/standard/lcg.c === --- php/php-src/trunk/ext/standard/lcg.c2010-01-08 09:32:23 UTC (rev 293252) +++ php/php-src/trunk/ext/standard/lcg.c2010-01-08 09:43:14 UTC (rev 293253) @@ -78,7 +78,7 @@ struct timeval tv; if (gettimeofday(tv, NULL) == 0) { - LCG(s1) = tv.tv_sec ^ (~tv.tv_usec); + LCG(s1) = tv.tv_sec ^ (tv.tv_usec11); } else { LCG(s1) = 1; } @@ -88,6 +88,11 @@ LCG(s2) = (long) getpid(); #endif + /* Add entropy to s2 by calling gettimeofday() again */ + if (gettimeofday(tv, NULL) == 0) { + LCG(s2) ^= (tv.tv_usec11); + } + LCG(seeded) = 1; } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/branches/ PHP_5_2/NEWS PHP_5_3/NEWS
jani Fri, 08 Jan 2010 09:56:38 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293254 Log: fix news Changed paths: U php/php-src/branches/PHP_5_2/NEWS U php/php-src/branches/PHP_5_3/NEWS Modified: php/php-src/branches/PHP_5_2/NEWS === --- php/php-src/branches/PHP_5_2/NEWS 2010-01-08 09:43:14 UTC (rev 293253) +++ php/php-src/branches/PHP_5_2/NEWS 2010-01-08 09:56:38 UTC (rev 293254) @@ -9,10 +9,10 @@ - Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL. (Ilia) +- Improved LCG entropy. (Rasmus, Samy Kamkar) + - Fixed build of mysqli with MySQL 5.5.0-m2. (Andrey) -- Improved LCG entropy (Rasmus, Samy Kamkar) - - Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia) - Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob) Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2010-01-08 09:43:14 UTC (rev 293253) +++ php/php-src/branches/PHP_5_3/NEWS 2010-01-08 09:56:38 UTC (rev 293254) @@ -3,11 +3,12 @@ ?? ??? 20??, PHP 5.3.3 - Upgraded bundled libmagic to version 5.03. (Mikko) +- Improved LCG entropy. (Rasmus, Samy Kamkar) + - Added support for DISABLE_AUTHENTICATOR for imap_open. (Pierre) - Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL. (Ilia) - Added stream_resolve_include_path(). (Mikko) -- Improved LCG entropy (Rasmus, Samy Kamkar) - Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /SVNROOT/ global_avail
derick Fri, 08 Jan 2010 10:41:17 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293259 Log: - Give Paul pecl/apm access. Changed paths: U SVNROOT/global_avail Modified: SVNROOT/global_avail === --- SVNROOT/global_avail2010-01-08 10:35:06 UTC (rev 293258) +++ SVNROOT/global_avail2010-01-08 10:41:17 UTC (rev 293259) @@ -313,7 +313,7 @@ avail|pierrick|pecl/stomp,phpdoc avail|cataphract|pecl/rar,phpdoc avail|cyberspice|pecl/dio,phpdoc -avail|dmendolia,patrickallaert|pecl/apm,phpdoc +avail|dmendolia,patrickallaert,dr4goonis|pecl/apm,phpdoc avail|fat|php/php-src/*/sapi/fpm # Objective-C bridge -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /SVNROOT/ global_avail
derick Fri, 08 Jan 2010 10:54:18 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293263 Log: - Accountname change Changed paths: U SVNROOT/global_avail Modified: SVNROOT/global_avail === --- SVNROOT/global_avail2010-01-08 10:47:55 UTC (rev 293262) +++ SVNROOT/global_avail2010-01-08 10:54:18 UTC (rev 293263) @@ -313,7 +313,7 @@ avail|pierrick|pecl/stomp,phpdoc avail|cataphract|pecl/rar,phpdoc avail|cyberspice|pecl/dio,phpdoc -avail|dmendolia,patrickallaert,dr4goonis|pecl/apm,phpdoc +avail|dmendolia,patrickallaert,dragoonis|pecl/apm,phpdoc avail|fat|php/php-src/*/sapi/fpm # Objective-C bridge -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_2/NEWS branches/PHP_5_2/ext/gd/libgd/gdft.c branches/PHP_5_2/ext/gd/tests/bug49600.phpt branches/PHP_5_3/NEWS branches/PHP_5_3/ext/gd/libgd/gdft.c branches/
tabe Fri, 08 Jan 2010 12:18:52 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293268 Log: Bug #49600 (imageTTFText text shifted right) - fix difference of horizontal position between imagettftext() and imagettfbbox() Bug: http://bugs.php.net/49600 (Assigned) imageTTFText text shifted right Changed paths: U php/php-src/branches/PHP_5_2/NEWS U php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c A php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c A php/php-src/branches/PHP_5_3/ext/gd/tests/bug49600.phpt U php/php-src/trunk/ext/gd/libgd/gdft.c A php/php-src/trunk/ext/gd/tests/bug49600.phpt Modified: php/php-src/branches/PHP_5_2/NEWS === --- php/php-src/branches/PHP_5_2/NEWS 2010-01-08 12:07:52 UTC (rev 293267) +++ php/php-src/branches/PHP_5_2/NEWS 2010-01-08 12:18:52 UTC (rev 293268) @@ -135,6 +135,7 @@ - Fixed bug #49630 (imap_listscan() function missing). (Felipe) - Fixed bug #49627 (error_log to specified file does not log time according to date.timezone). (Dmitry) +- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe) - Fixed bug #49578 (make install-pear fails). (Hannes) - Fixed bug #49536 (mb_detect_encoding() returns incorrect results when mbstring.strict_mode is turned on). (Moriyoshi) Modified: php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c === --- php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c2010-01-08 12:07:52 UTC (rev 293267) +++ php/php-src/branches/PHP_5_2/ext/gd/libgd/gdft.c2010-01-08 12:18:52 UTC (rev 293268) @@ -1101,7 +1101,7 @@ /* now, draw to our target surface */ bm = (FT_BitmapGlyph) image; - gdft_draw_bitmap(tc_cache, im, fg, bm-bitmap, x + x1 + ((pen.x + 31) 6) + bm-left, y + y1 + ((pen.y + 31) 6) - bm-top); + gdft_draw_bitmap(tc_cache, im, fg, bm-bitmap, x + x1 + ((pen.x + 31) 6), y + y1 + ((pen.y + 31) 6) - bm-top); } /* record current glyph index for kerning */ Added: php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt === --- php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt (rev 0) +++ php/php-src/branches/PHP_5_2/ext/gd/tests/bug49600.phpt 2010-01-08 12:18:52 UTC (rev 293268) @@ -0,0 +1,32 @@ +--TEST-- +Bug #49600 (imageTTFText text shifted right) +--SKIPIF-- +?php + if(!extension_loaded('gd')){ die('skip gd extension not available'); } + if(!function_exists('imagettftext')) die('skip imagettftext() not available'); + if(!function_exists('imagettfbbox')) die('skip imagettfbbox() not available'); +? +--FILE-- +?php +$cwd = dirname(__FILE__); +$font = $cwd/Tuffy.ttf; +$image = imagecreatetruecolor(50, 50); +$color = imagecolorallocate($image, 255, 255, 255); +foreach (array(E, I, P, g, i, q) as $c) +{ +$x = imagettftext($image, 32, 0, 0, 0, $color, $font, $c); + $y = imagettfbbox(32, 0, $cwd/Tuffy.ttf, $c); +if ( abs($x[0] - $y[0]) 1 + || abs($x[2] - $y[2]) 1 + || abs($x[4] - $y[4]) 1 + || abs($x[6] - $y[6]) 1 ) { + echo FAILED: \n; + var_dump($x); + var_dump($y); + exit; +} +} +echo 'OK'; +? +--EXPECTF-- +OK \ No newline at end of file Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2010-01-08 12:07:52 UTC (rev 293267) +++ php/php-src/branches/PHP_5_3/NEWS 2010-01-08 12:18:52 UTC (rev 293268) @@ -163,6 +163,7 @@ ini variables). (Jani) - Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe) - Fixed bug #49647 (DOMUserData does not exist). (Rob) +- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe) - Fixed bug #49521 (PDO fetchObject sets values before calling constructor). (Pierrick) - Fixed bug #49472 (Constants defined in Interfaces can be overridden). Modified: php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c === --- php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c2010-01-08 12:07:52 UTC (rev 293267) +++ php/php-src/branches/PHP_5_3/ext/gd/libgd/gdft.c2010-01-08 12:18:52 UTC (rev 293268) @@ -1101,7 +1101,7 @@ /* now, draw to our target surface */ bm = (FT_BitmapGlyph) image; - gdft_draw_bitmap(tc_cache, im, fg, bm-bitmap, x + x1 + ((pen.x + 31) 6) + bm-left, y + y1 + ((pen.y + 31) 6) - bm-top); + gdft_draw_bitmap(tc_cache, im, fg, bm-bitmap, x + x1 + ((pen.x + 31) 6), y + y1 + ((pen.y
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd.c branches/PHP_5_3/ext/mysqlnd/mysqlnd.h branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h bra
andrey Fri, 08 Jan 2010 13:47:03 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293273 Log: add restart_psession and end_psession hooks 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.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.c U php/php-src/trunk/ext/mysqlnd/mysqlnd.c U php/php-src/trunk/ext/mysqlnd/mysqlnd.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_net.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-01-08 13:26:58 UTC (rev 293272) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-01-08 13:47:03 UTC (rev 293273) @@ -411,26 +411,43 @@ 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_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; Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h 2010-01-08 13:26:58 UTC (rev 293272) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h 2010-01-08 13:47:03 UTC (rev 293273) @@ -74,7 +74,10 @@ PHPAPI void ** _mysqlnd_plugin_get_plugin_stmt_data(const MYSQLND_STMT * stmt, unsigned int plugin_id TSRMLS_DC); #define mysqlnd_plugin_get_plugin_stmt_data(s, p_id) _mysqlnd_plugin_get_plugin_stmt_data((s), (p_id) TSRMLS_CC) +PHPAPI void ** _mysqlnd_plugin_get_plugin_protocol_data(const MYSQLND_PROTOCOL * protocol, unsigned int plugin_id TSRMLS_DC); +#define mysqlnd_plugin_get_plugin_protocol_data(p, p_id) _mysqlnd_plugin_get_plugin_protocol_data((p), (p_id) TSRMLS_CC) + PHPAPI struct st_mysqlnd_conn_methods * mysqlnd_conn_get_methods(); PHPAPI void mysqlnd_conn_set_methods(struct st_mysqlnd_conn_methods *methods); Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c 2010-01-08 13:26:58 UTC (rev 293272) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c 2010-01-08 13:47:03 UTC (rev 293273) @@ -661,7 +661,8 @@ MYSQLND_NET * mysqlnd_net_init(zend_bool persistent TSRMLS_DC) { - MYSQLND_NET * net = mnd_pecalloc(1, sizeof(MYSQLND_NET), persistent); + size_t alloc_size = sizeof(MYSQLND_NET) + mysqlnd_plugin_count() * sizeof(void *); + MYSQLND_NET * net = mnd_pecalloc(1, alloc_size, persistent); DBG_ENTER(mysqlnd_net_init); DBG_INF_FMT(persistent=%d, persistent); @@ -719,6 +720,20 @@ /* }}} */ +/* {{{ _mysqlnd_plugin_get_plugin_net_data */ +PHPAPI void ** _mysqlnd_plugin_get_plugin_net_data(const MYSQLND_NET * net, unsigned int plugin_id TSRMLS_DC) +{ + DBG_ENTER(_mysqlnd_plugin_get_plugin_net_data); + DBG_INF_FMT(plugin_id=%u, plugin_id); + if (!net || plugin_id = mysqlnd_plugin_count()) { + return NULL; + } + DBG_RETURN((void *)((char *)net + sizeof(MYSQLND_NET) + plugin_id * sizeof(void *)));
[PHP-CVS] svn: /SVNROOT/ global_avail
derick Fri, 08 Jan 2010 15:28:59 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293278 Log: - Give Mario González access to the spanish translation as per Yago's request. Changed paths: U SVNROOT/global_avail Modified: SVNROOT/global_avail === --- SVNROOT/global_avail2010-01-08 15:11:03 UTC (rev 293277) +++ SVNROOT/global_avail2010-01-08 15:28:59 UTC (rev 293278) @@ -71,7 +71,7 @@ avail|mkoula|phpdoc/cs avail|penguin,tkxs|phpdoc/da avail|kore,thorstenr,lapistano|phpdoc/de -avail|ianasa,gustavo,soywiz,ladderalice,ideados,fcaroberga,dulasoft,benjamin,argosback,seros,tatai|phpdoc/es +avail|mgonzalezle,ianasa,gustavo,soywiz,ladderalice,ideados,fcaroberga,dulasoft,benjamin,argosback,seros,tatai|phpdoc/es avail|parstic|phpdoc/fa avail|magidev,mikaelkael|phpdoc/fr avail|xdanger,jiania,haohappy|phpdoc/zh,phpdoc/hk,phpdoc/tw -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.h branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.c branches/PHP_5_3/ext/mysqlnd/mysqln
andrey Fri, 08 Jan 2010 18:52:08 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293287 Log: export some calls to init/deinit code outside of the module Changed paths: U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.c U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.h U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_net.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_net.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c 2010-01-08 17:35:20 UTC (rev 293286) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.c 2010-01-08 18:52:08 UTC (rev 293287) @@ -658,7 +658,7 @@ /* {{{ mysqlnd_net_init */ -MYSQLND_NET * +PHPAPI MYSQLND_NET * mysqlnd_net_init(zend_bool persistent TSRMLS_DC) { size_t alloc_size = sizeof(MYSQLND_NET) + mysqlnd_plugin_count() * sizeof(void *); @@ -689,7 +689,7 @@ /* {{{ mysqlnd_net_free */ -void +PHPAPI void mysqlnd_net_free(MYSQLND_NET * const net TSRMLS_DC) { zend_bool pers = net-persistent; Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.h 2010-01-08 17:35:20 UTC (rev 293286) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_net.h 2010-01-08 18:52:08 UTC (rev 293287) @@ -23,8 +23,8 @@ #ifndef MYSQLND_NET_H #define MYSQLND_NET_H -MYSQLND_NET * mysqlnd_net_init(zend_bool persistent TSRMLS_DC); -void mysqlnd_net_free(MYSQLND_NET * const net TSRMLS_DC); +PHPAPI MYSQLND_NET * mysqlnd_net_init(zend_bool persistent TSRMLS_DC); +PHPAPI void mysqlnd_net_free(MYSQLND_NET * const net TSRMLS_DC); #endif /* MYSQLND_NET_H */ Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.c === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.c 2010-01-08 17:35:20 UTC (rev 293286) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.c 2010-01-08 18:52:08 UTC (rev 293287) @@ -236,7 +236,7 @@ /* {{{ mysqlnd_stats_init */ -void +PHPAPI void mysqlnd_stats_init(MYSQLND_STATS ** stats) { *stats = calloc(1, sizeof(MYSQLND_STATS)); @@ -250,7 +250,7 @@ /* {{{ mysqlnd_stats_end */ -void +PHPAPI void mysqlnd_stats_end(MYSQLND_STATS * stats) { #ifdef ZTS Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.h 2010-01-08 17:35:20 UTC (rev 293286) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_statistics.h 2010-01-08 18:52:08 UTC (rev 293287) @@ -220,8 +220,8 @@ TSRMLS_DC ZEND_FILE_LINE_DC); -void mysqlnd_stats_init(MYSQLND_STATS ** stats); -void mysqlnd_stats_end(MYSQLND_STATS * stats); +PHPAPI void mysqlnd_stats_init(MYSQLND_STATS ** stats); +PHPAPI void mysqlnd_stats_end(MYSQLND_STATS * stats); #endif /* MYSQLND_STATISTICS_H */ Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h === --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h 2010-01-08 17:35:20 UTC (rev 293286) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_wireprotocol.h 2010-01-08 18:52:08 UTC (rev 293287) @@ -270,8 +270,8 @@ MYSQLND_STATS * stats TSRMLS_DC); -MYSQLND_PROTOCOL * mysqlnd_protocol_init(zend_bool persistent TSRMLS_DC); -void mysqlnd_protocol_free(MYSQLND_PROTOCOL * net TSRMLS_DC); +PHPAPI MYSQLND_PROTOCOL * mysqlnd_protocol_init(zend_bool persistent TSRMLS_DC); +PHPAPI void mysqlnd_protocol_free(MYSQLND_PROTOCOL * net TSRMLS_DC); #endif /* MYSQLND_WIREPROTOCOL_H */ Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_net.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_net.c 2010-01-08 17:35:20 UTC (rev 293286) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_net.c 2010-01-08 18:52:08 UTC (rev 293287) @@ -658,7 +658,7 @@ /* {{{ mysqlnd_net_init */ -MYSQLND_NET * +PHPAPI MYSQLND_NET * mysqlnd_net_init(zend_bool persistent TSRMLS_DC) { size_t alloc_size = sizeof(MYSQLND_NET) + mysqlnd_plugin_count() *
[PHP-CVS] svn: /php/php-src/trunk/ext/mysqlnd/ mysqlnd_statistics.c mysqlnd_statistics.h mysqlnd_structs.h
andrey Fri, 08 Jan 2010 19:14:06 + Revision: http://svn.php.net/viewvc?view=revisionrevision=293289 Log: Add the remaining code for statistics triggers Changed paths: U php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.c U php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.h U php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.c === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.c 2010-01-08 18:52:41 UTC (rev 293288) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.c 2010-01-08 19:14:06 UTC (rev 293289) @@ -240,7 +240,8 @@ mysqlnd_stats_init(MYSQLND_STATS ** stats) { *stats = calloc(1, sizeof(MYSQLND_STATS)); - (*stats)-handlers = calloc(STAT_LAST, sizeof(mysqlnd_stat_handler)); + (*stats)-triggers = calloc(STAT_LAST, sizeof(mysqlnd_stat_trigger)); + (*stats)-in_trigger = FALSE; #ifdef ZTS (*stats)-LOCK_access = tsrm_mutex_alloc(); #endif @@ -256,13 +257,46 @@ #ifdef ZTS tsrm_mutex_free(stats-LOCK_access); #endif - free(stats-handlers); + free(stats-triggers); /* mnd_free will reference LOCK_access and crash...*/ free(stats); } /* }}} */ +/* {{{ mysqlnd_stats_set_trigger */ +PHPAPI mysqlnd_stat_trigger +mysqlnd_stats_set_trigger(MYSQLND_STATS * const stats, enum_mysqlnd_collected_stats stat, mysqlnd_stat_trigger trigger TSRMLS_DC) +{ + mysqlnd_stat_trigger ret = NULL; + DBG_ENTER(mysqlnd_stats_set_trigger); + if (stats) { + MYSQLND_STATS_LOCK(stats); + ret = stats-triggers[stat]; + stats-triggers[stat] = trigger; + MYSQLND_STATS_UNLOCK(stats); + } + DBG_RETURN(ret); +} +/* }}} */ + + +/* {{{ mysqlnd_stats_set_handler */ +PHPAPI mysqlnd_stat_trigger +mysqlnd_stats_reset_triggers(MYSQLND_STATS * const stats TSRMLS_DC) +{ + mysqlnd_stat_trigger ret = NULL; + DBG_ENTER(mysqlnd_stats_reset_trigger); + if (stats) { + MYSQLND_STATS_LOCK(stats); + memset(stats-triggers, 0, STAT_LAST * sizeof(mysqlnd_stat_trigger)); + MYSQLND_STATS_UNLOCK(stats); + } + DBG_RETURN(ret); +} +/* }}} */ + + /* * Local variables: * tab-width: 4 Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.h 2010-01-08 18:52:41 UTC (rev 293288) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_statistics.h 2010-01-08 19:14:06 UTC (rev 293289) @@ -43,10 +43,10 @@ #endif #define MYSQLND_CHECK_AND_CALL_HANDLER(stats, statistic, value) \ - if ((stats)-handlers[(statistic)] (stats)-in_handler == FALSE) { \ - (stats)-in_handler = TRUE; \ - (stats)-handlers[(statistic)]((stats), (statistic), (value) TSRMLS_CC); \ - (stats)-in_handler = FALSE; \ + if ((stats)-triggers[(statistic)] (stats)-in_trigger == FALSE) { \ + (stats)-in_trigger = TRUE; \ + (stats)-triggers[(statistic)]((stats), (statistic), (value) TSRMLS_CC); \ + (stats)-in_trigger = FALSE; \ } \ @@ -222,6 +222,8 @@ PHPAPI void mysqlnd_stats_init(MYSQLND_STATS ** stats); PHPAPI void mysqlnd_stats_end(MYSQLND_STATS * stats); +PHPAPI mysqlnd_stat_trigger mysqlnd_stats_set_trigger(MYSQLND_STATS * const stats, enum_mysqlnd_collected_stats stat, mysqlnd_stat_trigger trigger TSRMLS_DC); +PHPAPI mysqlnd_stat_trigger mysqlnd_stats_reset_triggers(MYSQLND_STATS * const stats TSRMLS_DC); #endif /* MYSQLND_STATISTICS_H */ Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h === --- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2010-01-08 18:52:41 UTC (rev 293288) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h 2010-01-08 19:14:06 UTC (rev 293289) @@ -210,13 +210,13 @@ typedef struct st_mysqlnd_stats MYSQLND_STATS; -typedef void (*mysqlnd_stat_handler)(MYSQLND_STATS * stats, enum_mysqlnd_collected_stats stat, int64_t change TSRMLS_DC); +typedef void (*mysqlnd_stat_trigger)(MYSQLND_STATS * stats, enum_mysqlnd_collected_stats stat, int64_t change TSRMLS_DC); struct st_mysqlnd_stats { uint64_tvalues[STAT_LAST]; - mysqlnd_stat_handler*handlers; - zend_bool in_handler; + mysqlnd_stat_trigger*triggers; + zend_bool in_trigger; #ifdef ZTS MUTEX_T LOCK_access; #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php