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 01:53:35 +0000 |
| Subject: | cvs: php4 / php.ini-dist php.ini-optimized /ext/mysql php_mysql.c php_mysql.h /main main.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-304@lists.php.net to get a copy of this message | ||
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();
}