# ext/sockets have its own implementation of socketpair(), perhaps we should move it
# to the core. This will make stream_socket_pair() available on Windows aswell
- This solves alot of platform compatibility problems
- The possible security issue of allocating an incredibly large vector
pool is prevented
- They are of little to no benefit in a high level language
- 99% of all things done with these functions can be done using
sendto/recvfrom
- Set the global 'last_error' explicitely for functions which can't return an
error withing a single socket context (socket_create and socket_select)
- Modified socket_last_error() to return global modules last
error if no socket resource is given
- Added a couple of more E_WARNING messages in case something
goes foobar so the user isn't left alone in the dark.
Redesigned socket_recv() as outlined on php-dev
Modified socket_last_error() to no longer clear the error
Added socket_clear_error()
Fixed socket_set_nonblock()
Added socket_set_block()
Fixed a proto
Saved 1 byte of RAM : )
- nuke first parameter to socket_select (detemine it ourself)
- swap parameters for socket_fd_set, socket_fd_clear & socket_fd_isset
- allow to pass an array of sockets to socket_fd_set + socket_fd_clear
calling the read() system call.
# Some people were commenting about "oddities" in the wrapper that I hadn't
# noticed before, though I've used it in many places before now..
- Make constants case-sensitive, conforming with the rest of PHP &
the C API.
- Make module compatible with thread safety features.
- open_listen_sok() -> open_listen_sock()
- Remove ext_skel comments
- Get rid of the ZVAL macro and replace with the correct Z_*_*
macros
- declare all functions local to the file as static.
- Remove empty PHP_MSHUTDOWN() function.
- Removed confirm_sockets_compiled()
- Changed RETVAL_* macro's to RETURN_* macro's eliminating errors
with incorrect return values and a potential leak/crash or two.
- functions that return void, actually return void
- Replaced 'long' in the prototypes with 'int'
- Fixed fd_zero() function, it gave a WRONG_PARAM_COUNT when you
gave it the proper parameter count.
- Changed the way an arbitrary number of parameters were accessed
from build_iovec() to use the Zend API.
- Added socketpair() and shutdown() functions.