Mercurial > hg > nginx
view src/os/win32/ngx_sendv.c @ 315:39b6f2df45c0
nginx-0.0.3-2004-04-14-21:44:28 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 14 Apr 2004 17:44:28 +0000 |
parents | cd035a94e0b6 |
children |
line wrap: on
line source
#include <ngx_config.h> #include <ngx_core.h> #include <ngx_types.h> #include <ngx_errno.h> #include <ngx_connection.h> #include <ngx_log.h> #include <ngx_sendv.h> #include <ngx_string.h> ssize_t ngx_sendv(ngx_connection_t *c, ngx_iovec_t *iovec, int n) { int rc; size_t sent; ngx_err_t err; #if 0 /* STUB: WSABUF must be 4-byte aligned. Undocumented WSAEINVAL error */ ngx_iovec_t iov[10]; ngx_memcpy(iov, iovec, n * sizeof(ngx_iovec_t)); #endif sent = 0; ngx_log_debug(c->log, "WSASend: %d, %d, %08x" _ c->fd _ n _ iovec); rc = WSASend(c->fd, iovec, n, &sent, 0, NULL, NULL); ngx_log_debug(c->log, "WSASend() done"); if (rc == SOCKET_ERROR) { err = ngx_socket_errno; if (err == NGX_EAGAIN) { ngx_log_error(NGX_LOG_INFO, c->log, err, "WSASend() eagain"); return NGX_AGAIN; } ngx_log_error(NGX_LOG_ERR, c->log, err, "WSASend() failed"); return NGX_ERROR; } return sent; }