cvs: /php4 php4dllts.dsp /php4/ext/mysql php_mysql.c

From: Date: Sat, 19 Feb 2000 22:42:23 +0000
Subject: cvs: /php4 php4dllts.dsp /php4/ext/mysql php_mysql.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-10506@lists.php.net to get a copy of this message
zeev Sat Feb 19 14:42:23 2000 EDT Modified files: /php4 php4dllts.dsp /php4/ext/mysql php_mysql.c Log: Restore the singal protection in the MySQL module Index: php4/php4dllts.dsp diff -u php4/php4dllts.dsp:1.55 php4/php4dllts.dsp:1.56 --- php4/php4dllts.dsp:1.55 Sat Feb 19 11:01:09 2000 +++ php4/php4dllts.dsp Sat Feb 19 14:41:53 2000 @@ -1072,6 +1072,10 @@ SOURCE=".\README.CVS-RULES" # End Source File +# Begin Source File + +SOURCE=.\TODO +# End Source File # End Group # End Target # End Project Index: php4/ext/mysql/php_mysql.c diff -u php4/ext/mysql/php_mysql.c:1.28 php4/ext/mysql/php_mysql.c:1.29 --- php4/ext/mysql/php_mysql.c:1.28 Sat Feb 12 11:47:49 2000 +++ php4/ext/mysql/php_mysql.c Sat Feb 19 14:41:53 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_mysql.c,v 1.28 2000/02/12 19:47:49 andi Exp $ */ +/* $Id: php_mysql.c,v 1.29 2000/02/19 22:41:53 zeev Exp $ */ /* TODO: @@ -158,6 +158,7 @@ DLEXPORT zend_module_entry *get_module(void) { return &mysql_module_entry; } #endif +void timeout(int sig); #define CHECK_LINK(link) { if (link==-1) { php_error(E_WARNING,"MySQL: A link to the server could not be established"); RETURN_FALSE; } } @@ -184,18 +185,24 @@ static void _close_mysql_link(MYSQL *link) { + void (*handler) (int); MySLS_FETCH(); + handler = signal(SIGPIPE, SIG_IGN); mysql_close(link); + signal(SIGPIPE,handler); efree(link); MySG(num_links)--; } static void _close_mysql_plink(MYSQL *link) { + void (*handler) (int); MySLS_FETCH(); + handler = signal(SIGPIPE, SIG_IGN); mysql_close(link); + signal(SIGPIPE,handler); free(link); MySG(num_persistent)--; @@ -316,6 +323,7 @@ char *hashed_details; int hashed_details_length,port = MYSQL_PORT; MYSQL *mysql; + void (*handler) (int); MySLS_FETCH(); PLS_FETCH(); @@ -449,12 +457,14 @@ RETURN_FALSE; } /* ensure that the link did not die */ + handler=signal(SIGPIPE,SIG_IGN); #if defined(HAVE_MYSQL_ERRNO) && defined(CR_SERVER_GONE_ERROR) mysql_stat(le->ptr); if (mysql_errno((MYSQL *)le->ptr) == CR_SERVER_GONE_ERROR) { #else if (!strcasecmp(mysql_stat(le->ptr),"mysql server has gone away")) { /* the link died */ #endif + signal(SIGPIPE,handler); #if MYSQL_VERSION_ID > 32199 /* this lets us set the port number */ if (mysql_real_connect(le->ptr,host,user,passwd,NULL,port,socket,0)==NULL) { #else @@ -466,6 +476,7 @@ RETURN_FALSE; } } + signal(SIGPIPE,handler); mysql = (MYSQL *) le->ptr; } ZEND_REGISTER_RESOURCE(return_value, mysql, le_plink);

« previous php.version4 (#10506) next »