diff options
| author | Wez Furlong <wez@php.net> | 2004-07-31 10:56:55 +0000 |
|---|---|---|
| committer | Wez Furlong <wez@php.net> | 2004-07-31 10:56:55 +0000 |
| commit | ae7285d658765965f913a8fb8bc211e447d24367 (patch) | |
| tree | 553255574b967d46d931bbd0f502b04cc54673e1 | |
| parent | 05a3fabacb1e622d24addbac5013472c8ee140c2 (diff) | |
| download | php-git-ae7285d658765965f913a8fb8bc211e447d24367.tar.gz | |
Misc sendto/recvfrom tweaks that have been pending here for a while...
| -rw-r--r-- | main/streams/transports.c | 4 | ||||
| -rw-r--r-- | main/streams/xp_socket.c | 15 |
2 files changed, 18 insertions, 1 deletions
diff --git a/main/streams/transports.c b/main/streams/transports.c index 04a4eccfbd..37e0757a5e 100644 --- a/main/streams/transports.c +++ b/main/streams/transports.c @@ -385,6 +385,7 @@ PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t bufle php_stream_xport_param param; int ret = 0; int recvd_len = 0; +#if 0 int oob; if (flags == 0 && addr == NULL) { @@ -416,6 +417,7 @@ PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t bufle return recvd_len; } } +#endif /* otherwise, we are going to bypass the buffer */ @@ -453,9 +455,11 @@ PHPAPI int php_stream_xport_sendto(php_stream *stream, const char *buf, size_t b int ret = 0; int oob; +#if 0 if (flags == 0 && addr == NULL) { return php_stream_write(stream, buf, buflen); } +#endif oob = (flags & STREAM_OOB) == STREAM_OOB; diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c index bcfa33b025..a669c7a2a0 100644 --- a/main/streams/xp_socket.c +++ b/main/streams/xp_socket.c @@ -185,8 +185,11 @@ static int php_sockop_close(php_stream *stream, int close_handle TSRMLS_DC) static int php_sockop_flush(php_stream *stream TSRMLS_DC) { +#if 0 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; return fsync(sock->socket); +#endif + return 0; } static int php_sockop_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC) @@ -195,6 +198,16 @@ static int php_sockop_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC return fstat(sock->socket, &ssb->sb); } +static inline int sock_sendto(php_netstream_data_t *sock, char *buf, size_t buflen, int flags, + struct sockaddr *addr, socklen_t addrlen + TSRMLS_DC) +{ + if (addr) { + return sendto(sock->socket, buf, buflen, flags, addr, addrlen); + } + return send(sock->socket, buf, buflen, flags); +} + static inline int sock_recvfrom(php_netstream_data_t *sock, char *buf, size_t buflen, int flags, char **textaddr, long *textaddrlen, struct sockaddr **addr, socklen_t *addrlen @@ -314,7 +327,7 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void if ((xparam->inputs.flags & STREAM_OOB) == STREAM_OOB) { flags |= MSG_OOB; } - xparam->outputs.returncode = sendto(sock->socket, + xparam->outputs.returncode = sock_sendto(sock, xparam->inputs.buf, xparam->inputs.buflen, flags, xparam->inputs.addr, |
