ID: 8994
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: Network related
Description: socket_set_timeout works only once

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.

Previous Comments:

[2001-01-30 05:36:45] [EMAIL PROTECTED]
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-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 
*** 596,601 ****
--- 596,602 ----
        SOCK_FIND(sock, socket);
        sock->timeout = *timeout;
+       sock->timeout_event = 0;
  #define SOCK_FIND_AND_READ_MAX(max) 


Full Bug description available at:

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to