]> granicus.if.org Git - php/commitdiff
MFH: fix for #24629
authorJason Greene <jason@php.net>
Fri, 25 Jul 2003 01:50:09 +0000 (01:50 +0000)
committerJason Greene <jason@php.net>
Fri, 25 Jul 2003 01:50:09 +0000 (01:50 +0000)
ext/sockets/sockets.c

index e88fcb61c8be838b9834d0dc3c7c7066440604b5..d8f41d8bca8958aba58964365190fb35bc4a8dbe 100644 (file)
@@ -592,8 +592,16 @@ PHP_FUNCTION(socket_select)
                        convert_to_long(&tmp);
                        sec = &tmp;
                }
-               tv.tv_sec = Z_LVAL_P(sec);
-               tv.tv_usec = usec;
+
+               /* Solaris + BSD do not like microsecond values which are >= 1 sec */ 
+               if (usec > 999999) {
+                       tv.tv_sec = Z_LVAL_P(sec) + (usec / 1000000);
+                       tv.tv_usec = usec % 1000000;
+               } else {
+                       tv.tv_sec = Z_LVAL_P(sec);
+                       tv.tv_usec = usec;
+               }               
+
                tv_p = &tv;
 
                if (sec == &tmp) {