Mercurial > hg > nginx-quic
comparison src/os/unix/ngx_udp_sendmsg_chain.c @ 8539:913ff20e4c62 quic
Core: fixed errno clobbering in ngx_sendmsg().
This was broken by 2dfd313f22f2.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Tue, 20 Jul 2021 12:04:58 +0300 |
parents | e7a2d3914877 |
children | 4646a981111f |
comparison
equal
deleted
inserted
replaced
8538:6674a50cbb6c | 8539:913ff20e4c62 |
---|---|
396 | 396 |
397 eintr: | 397 eintr: |
398 | 398 |
399 n = sendmsg(c->fd, msg, flags); | 399 n = sendmsg(c->fd, msg, flags); |
400 | 400 |
401 #if (NGX_DEBUG) | |
402 for (i = 0, size = 0; i < (size_t) msg->msg_iovlen; i++) { | |
403 size += msg->msg_iov[i].iov_len; | |
404 } | |
405 | |
406 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, | |
407 "sendmsg: %z of %uz", n, size); | |
408 #endif | |
409 | |
410 if (n == -1) { | 401 if (n == -1) { |
411 err = ngx_errno; | 402 err = ngx_errno; |
412 | 403 |
413 switch (err) { | 404 switch (err) { |
414 case NGX_EAGAIN: | 405 case NGX_EAGAIN: |
426 ngx_connection_error(c, err, "sendmsg() failed"); | 417 ngx_connection_error(c, err, "sendmsg() failed"); |
427 return NGX_ERROR; | 418 return NGX_ERROR; |
428 } | 419 } |
429 } | 420 } |
430 | 421 |
422 #if (NGX_DEBUG) | |
423 for (i = 0, size = 0; i < (size_t) msg->msg_iovlen; i++) { | |
424 size += msg->msg_iov[i].iov_len; | |
425 } | |
426 | |
427 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, | |
428 "sendmsg: %z of %uz", n, size); | |
429 #endif | |
430 | |
431 return n; | 431 return n; |
432 } | 432 } |