Re: cvs: php4 / php.ini-dist php.ini-optimized /ext/mysql php_mysql.c php_mysql.h /main main.c
| From: | Zeev Suraski | Date: | Fri, 16 Jun 2000 02:18:15 +0000 |
| Subject: | Re: cvs: php4 / php.ini-dist php.ini-optimized /ext/mysql php_mysql.c php_mysql.h /main main.c | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-305@lists.php.net to get a copy of this message | ||
Woops, looke like my patch to add mysql.default_socket from last week
didn't get committed and got committed now...
On Fri, 16 Jun 2000, Zeev Suraski wrote:
> zeev Thu Jun 15 18:53:35 2000 EDT
>
> Modified files:
> /php4 php.ini-dist php.ini-optimized
> /php4/ext/mysql php_mysql.c php_mysql.h
> /php4/main main.c
> Log:
> Move timeout code to Zend, allow Win32 timeouts
> @- Implemented max_execution_time under Win32 (Zeev)
>
>
> Index: php4/php.ini-dist
> diff -u php4/php.ini-dist:1.36 php4/php.ini-dist:1.37
> --- php4/php.ini-dist:1.36 Mon May 29 10:22:35 2000
> +++ php4/php.ini-dist Thu Jun 15 18:53:35 2000
> @@ -300,6 +300,8 @@
> ; mysql_connect() will use the $MYSQL_TCP_PORT, or the mysql-tcp
> ; entry in /etc/services, or the compile-time defined MYSQL_PORT
> ; (in that order). Win32 will only look at MYSQL_PORT.
> +mysql.default_socket = ; default socket name for local MySQL connects. If empty, uses the
> built-in
> + ; MySQL defaults
> mysql.default_host = ; default host for mysql_connect() (doesn't apply in safe mode)
> mysql.default_user = ; default user for mysql_connect() (doesn't apply in safe mode)
> mysql.default_password = ; default password for mysql_connect() (doesn't apply in safe
> mode)
> Index: php4/php.ini-optimized
> diff -u php4/php.ini-optimized:1.5 php4/php.ini-optimized:1.6
> --- php4/php.ini-optimized:1.5 Mon May 29 10:22:35 2000
> +++ php4/php.ini-optimized Thu Jun 15 18:53:35 2000
> @@ -288,6 +288,8 @@
> ; mysql_connect() will use the $MYSQL_TCP_PORT, or the mysql-tcp
> ; entry in /etc/services, or the compile-time defined MYSQL_PORT
> ; (in that order). Win32 will only look at MYSQL_PORT.
> +mysql.default_socket = ; default socket name for local MySQL connects. If empty, uses the
> built-in
> + ; MySQL defaults
> mysql.default_host = ; default host for mysql_connect() (doesn't apply in safe mode)
> mysql.default_user = ; default user for mysql_connect() (doesn't apply in safe mode)
> mysql.default_password = ; default password for mysql_connect() (doesn't apply in safe
> mode)
> Index: php4/ext/mysql/php_mysql.c
> diff -u php4/ext/mysql/php_mysql.c:1.48 php4/ext/mysql/php_mysql.c:1.49
> --- php4/ext/mysql/php_mysql.c:1.48 Sun Jun 11 12:23:21 2000
> +++ php4/ext/mysql/php_mysql.c Thu Jun 15 18:53:35 2000
> @@ -16,7 +16,7 @@
> +----------------------------------------------------------------------+
> */
>
> -/* $Id: php_mysql.c,v 1.48 2000/06/11 19:23:21 zeev Exp $ */
> +/* $Id: php_mysql.c,v 1.49 2000/06/16 01:53:35 zeev Exp $ */
>
>
> /* TODO:
> @@ -210,7 +210,7 @@
> static PHP_INI_MH(OnMySQLPort)
> {
> MySLS_FETCH();
> -
> +
> if (new_value==NULL) { /* default port */
> #ifndef PHP_WIN32
> struct servent *serv_ptr;
> @@ -236,11 +236,12 @@
> PHP_INI_BEGIN()
>
> STD_PHP_INI_BOOLEAN("mysql.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateInt, allow_persistent, zend_mysql_globals, mysql_globals)
>
> STD_PHP_INI_ENTRY_EX("mysql.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_persistent, zend_mysql_globals, mysql_globals, display_link_numbers)
>
> - STD_PHP_INI_ENTRY_EX("mysql.max_links", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_links, zend_mysql_globals, mysql_globals, display_link_numbers)
>
> - STD_PHP_INI_ENTRY("mysql.default_host", NULL, PHP_INI_ALL, OnUpdateString, default_host, zend_mysql_globals, mysql_globals)
>
> - STD_PHP_INI_ENTRY("mysql.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_mysql_globals, mysql_globals)
>
> - STD_PHP_INI_ENTRY("mysql.default_password", NULL, PHP_INI_ALL, OnUpdateString, default_password, zend_mysql_globals, mysql_globals)
> - PHP_INI_ENTRY("mysql.default_port", NULL, PHP_INI_ALL, OnMySQLPort)
>
> + STD_PHP_INI_ENTRY_EX("mysql.max_links", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_links, zend_mysql_globals, mysql_globals, display_link_numbers)
>
> + STD_PHP_INI_ENTRY("mysql.default_host", NULL, PHP_INI_ALL, OnUpdateString, default_host, zend_mysql_globals, mysql_globals)
>
> + STD_PHP_INI_ENTRY("mysql.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_mysql_globals, mysql_globals)
>
> + STD_PHP_INI_ENTRY("mysql.default_password", NULL, PHP_INI_ALL, OnUpdateString, default_password, zend_mysql_globals, mysql_globals)
> + PHP_INI_ENTRY("mysql.default_port", NULL, PHP_INI_ALL, OnMySQLPort)
>
> + STD_PHP_INI_ENTRY("mysql.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysql_globals, mysql_globals)
> PHP_INI_END()
>
>
> @@ -311,13 +312,15 @@
>
> static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
> {
> - char *user,*passwd,*host,*socket=NULL,*tmp;
> + char *user,*passwd,*host,*socket,*tmp;
> char *hashed_details;
> int hashed_details_length,port = MYSQL_PORT;
> MYSQL *mysql;
> void (*handler) (int);
> MySLS_FETCH();
> PLS_FETCH();
> +
> + socket = MySG(default_socket);
>
> if (PG(sql_safe_mode)) {
> if (ZEND_NUM_ARGS()>0) {
> Index: php4/ext/mysql/php_mysql.h
> diff -u php4/ext/mysql/php_mysql.h:1.11 php4/ext/mysql/php_mysql.h:1.12
> --- php4/ext/mysql/php_mysql.h:1.11 Sat Jun 10 01:47:57 2000
> +++ php4/ext/mysql/php_mysql.h Thu Jun 15 18:53:35 2000
> @@ -17,7 +17,7 @@
> */
>
>
> -/* $Id: php_mysql.h,v 1.11 2000/06/10 08:47:57 andi Exp $ */
> +/* $Id: php_mysql.h,v 1.12 2000/06/16 01:53:35 zeev Exp $ */
>
> #ifndef _PHP_MYSQL_H
> #define _PHP_MYSQL_H
> @@ -82,6 +82,7 @@
> long allow_persistent;
> long default_port;
> char *default_host, *default_user, *default_password;
> + char *default_socket;
> ZEND_END_MODULE_GLOBALS(mysql);
>
> #ifdef ZTS
> Index: php4/main/main.c
> diff -u php4/main/main.c:1.269 php4/main/main.c:1.270
> --- php4/main/main.c:1.269 Tue Jun 13 13:59:23 2000
> +++ php4/main/main.c Thu Jun 15 18:53:35 2000
> @@ -19,7 +19,7 @@
> */
>
>
> -/* $Id: main.c,v 1.269 2000/06/13 20:59:23 andrei Exp $ */
> +/* $Id: main.c,v 1.270 2000/06/16 01:53:35 zeev Exp $ */
>
>
> #include <stdio.h>
> @@ -96,8 +96,6 @@
>
>
> static void php_build_argv(char *s, zval *track_vars_array ELS_DC PLS_DC);
> -static void php_timeout(int dummy);
> -static void php_set_timeout(long seconds);
>
> void *gLock; /*mutex variable */
>
> @@ -441,56 +439,7 @@
> }
>
>
> -static long php_timeout_seconds;
>
> -#ifdef HAVE_SETITIMER
> -static void php_timeout(int dummy)
> -{
> - PLS_FETCH();
> -
> - PG(connection_status) |= PHP_CONNECTION_TIMEOUT;
> - php_error(E_ERROR, "Maximum execution time of %d second%s exceeded",
> - php_timeout_seconds, php_timeout_seconds == 1 ? "" : "s");
> -}
> -#endif
> -
> -/* This one doesn't exists on QNX */
> -#ifndef SIGPROF
> -#define SIGPROF 27
> -#endif
> -
> -static void php_set_timeout(long seconds)
> -{
> -#ifdef PHP_WIN32
> -#else
> -# ifdef HAVE_SETITIMER
> - struct itimerval t_r; /* timeout requested */
> -
> - t_r.it_value.tv_sec = seconds;
> - t_r.it_value.tv_usec = t_r.it_interval.tv_sec = t_r.it_interval.tv_usec = 0;
> -
> - php_timeout_seconds = seconds;
> - setitimer(ITIMER_PROF, &t_r, NULL);
> - signal(SIGPROF, php_timeout);
> -# endif
> -#endif
> -}
> -
> -
> -static void php_unset_timeout(void)
> -{
> -#ifdef PHP_WIN32
> -#else
> -# ifdef HAVE_SETITIMER
> - struct itimerval no_timeout;
> -
> - no_timeout.it_value.tv_sec = no_timeout.it_value.tv_usec = no_timeout.it_interval.tv_sec =
> no_timeout.it_interval.tv_usec = 0;
> -
> - setitimer(ITIMER_PROF, &no_timeout, NULL);
> -# endif
> -#endif
> -}
> -
> /* {{{ proto void set_time_limit(int seconds)
> Sets the maximum time a script can run */
> PHP_FUNCTION(set_time_limit)
> @@ -518,8 +467,8 @@
> should work fine. Is this FIXME a WIN32 problem? Is
> there no way to do per-thread timers on WIN32?
> */
> - php_unset_timeout();
> - php_set_timeout(Z_LVAL_PP(new_timeout));
> + zend_unset_timeout();
> + zend_set_timeout(Z_LVAL_PP(new_timeout));
> }
> /* }}} */
>
> @@ -654,7 +603,7 @@
> virtual_cwd_activate(SG(request_info).path_translated);
> #endif
>
> - php_set_timeout(PG(max_execution_time));
> + zend_set_timeout(PG(max_execution_time));
>
> if (PG(expose_php)) {
> sapi_add_header(SAPI_PHP_VERSION_HEADER, sizeof(SAPI_PHP_VERSION_HEADER)-1, 1);
> @@ -703,7 +652,7 @@
> sapi_deactivate(SLS_C);
>
> shutdown_memory_manager(CG(unclean_shutdown), 0);
> - php_unset_timeout();
> + zend_unset_timeout();
>
> global_unlock();
> }
>
>
>
>
--
Zeev Suraski <zeev@zend.com>
http://www.zend.com/