aboutsummaryrefslogtreecommitdiff
path: root/src/event/ngx_event_accept.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/ngx_event_accept.c')
-rw-r--r--src/event/ngx_event_accept.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
index 14841c016..4445adc62 100644
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -28,10 +28,10 @@ ngx_event_accept(ngx_event_t *ev)
ngx_uint_t level;
ngx_socket_t s;
ngx_event_t *rev, *wev;
+ ngx_sockaddr_t sa;
ngx_listening_t *ls;
ngx_connection_t *c, *lc;
ngx_event_conf_t *ecf;
- u_char sa[NGX_SOCKADDRLEN];
#if (NGX_HAVE_ACCEPT4)
static ngx_uint_t use_accept4 = 1;
#endif
@@ -58,17 +58,16 @@ ngx_event_accept(ngx_event_t *ev)
"accept on %V, ready: %d", &ls->addr_text, ev->available);
do {
- socklen = NGX_SOCKADDRLEN;
+ socklen = sizeof(ngx_sockaddr_t);
#if (NGX_HAVE_ACCEPT4)
if (use_accept4) {
- s = accept4(lc->fd, (struct sockaddr *) sa, &socklen,
- SOCK_NONBLOCK);
+ s = accept4(lc->fd, &sa.sockaddr, &socklen, SOCK_NONBLOCK);
} else {
- s = accept(lc->fd, (struct sockaddr *) sa, &socklen);
+ s = accept(lc->fd, &sa.sockaddr, &socklen);
}
#else
- s = accept(lc->fd, (struct sockaddr *) sa, &socklen);
+ s = accept(lc->fd, &sa.sockaddr, &socklen);
#endif
if (s == (ngx_socket_t) -1) {
@@ -171,7 +170,7 @@ ngx_event_accept(ngx_event_t *ev)
return;
}
- ngx_memcpy(c->sockaddr, sa, socklen);
+ ngx_memcpy(c->sockaddr, &sa, socklen);
log = ngx_palloc(c->pool, sizeof(ngx_log_t));
if (log == NULL) {
@@ -328,10 +327,10 @@ ngx_event_recvmsg(ngx_event_t *ev)
ngx_event_t *rev, *wev;
struct iovec iov[1];
struct msghdr msg;
+ ngx_sockaddr_t sa;
ngx_listening_t *ls;
ngx_event_conf_t *ecf;
ngx_connection_t *c, *lc;
- u_char sa[NGX_SOCKADDRLEN];
static u_char buffer[65535];
#if (NGX_HAVE_MSGHDR_MSG_CONTROL)
@@ -376,7 +375,7 @@ ngx_event_recvmsg(ngx_event_t *ev)
iov[0].iov_len = sizeof(buffer);
msg.msg_name = &sa;
- msg.msg_namelen = sizeof(sa);
+ msg.msg_namelen = sizeof(ngx_sockaddr_t);
msg.msg_iov = iov;
msg.msg_iovlen = 1;