On Fri, 2002-03-08 at 10:22, J Smith wrote:
> 
> I don't think that's a hot idea. The return value of select() is an int for 
> reason and not merely true or false. It's supposed to return the number of 
> file descriptors that are ready for reading, writing or exceptions. 

The correct behavior that is consistent with the API follows(that I am
planning):
Set retval of socket_select() to be the number of file descriptors
available. If error occurs set to false.

Using the c-api one commonly writes code like this
--------------------------------------------------
Error on an actual error or no sockets available:

ret=select(rfds, NULL, NULL, &tv);
if (ret < 0)
   error_func();

Error differently:

ret=select(rfds, NULL, NULL, &tv);
if (ret == -1)
    error_sys();
if (ret == 0)
    error_noavail();


The equiv in php using false:
------------------------------

Error on an actual error or no sockets available:

$ret=socket_select($rfds, NULL, NULL, 1);
if (ret == 0)
   error_func();

Error differently:

$ret=socket_select($rfds, NULL, NULL, 1);
if (ret === FALSE)
   error_sys();
if (ret === 0)
   error_noavail();


> According to the man file:
>

> (Although without the functions equivalent 
> to the FD_* macros', the extension as a whole is getting pretty far removed 
> from the standard sockets library as it is.)
> 
> J

Yes, the goal is to follow a more php like behavior. Those who follow
the C-API will have some slight adjusting to, but the beauty of the
high-level language is that we can automate and simplify the
functionality.

This also makes it easier for people who don't know C to pickup the
functionality. 

-Jason
> -- 
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
-- 
Jason T. Greene
Internet Software Engineer

<[EMAIL PROTECTED]>
<[EMAIL PROTECTED]> 
<[EMAIL PROTECTED]>

Use PHP: http://www.php.net



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to