Bug #8994 Updated: socket_set_timeout works only once

From: Date: Thu, 26 Apr 2001 13:56:19 +0000
Subject: Bug #8994 Updated: socket_set_timeout works only once
Groups: php.dev 
Request: Send a blank email to php-dev+get-52488@lists.php.net to get a copy of this message
ID: 8994 Updated by: sterling Reported By: tom.anheyer@berlinonline.de Status: Closed Bug Type: Network related PHP Version: 4.0.4pl1 Assigned To: Comments: Applied in CVS, don't know if it will make 4.0.5 this late in the game. Thanks! Previous Comments: --------------------------------------------------------------------------- [2001-04-26 09:49:54] sterling@php.net Applied in CVS, don't know if it will make 4.0.5 this late in the game. Thanks! --------------------------------------------------------------------------- [2001-03-22 04:11:22] tom.anheyer@berlinonline.de please fix this issue for the final 4.0.5. It is not fixed in 4.0.5RC1. I think it's easy to fix. --------------------------------------------------------------------------- [2001-03-22 04:11:20] tom.anheyer@berlinonline.de please fix this issue for the final 4.0.5. It is not fixed in 4.0.5RC1. I think it's easy to fix. --------------------------------------------------------------------------- [2001-01-30 05:36:45] tom.anheyer@berlinonline.de socket_set_timeout() works only once. This is because the internal function php_sock_fgets() checks the timout flag before calling php_sockread_internal(). If blocking IO php_sockwait_for_data() is called next. This function resets the socket timeout flag. A possible solution is to reset the flag in php_sockset_timeout() like the following patch. Removing the timeout flag test from php_sock_fgets() is also possible maybe. diff -c /usr/src/packages/BUILD/php-4.0.4pl1/ext/standard/fsock.c-orig /usr/src/packages/BUILD/php-4.0.4pl1/ext/standard/fsock.c *** /usr/src/packages/BUILD/php-4.0.4pl1/ext/standard/fsock.c-orig Tue Jan 30 11:19:59 2001 --- /usr/src/packages/BUILD/php-4.0.4pl1/ext/standard/fsock.c Tue Jan 30 11:19:59 2001 *************** *** 596,601 **** --- 596,602 ---- SOCK_FIND(sock, socket); sock->timeout = *timeout; + sock->timeout_event = 0; } #define SOCK_FIND_AND_READ_MAX(max) --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=8994&edit=2

« previous php.dev (#52488) next »