aboutsummaryrefslogtreecommitdiff
path: root/src/event/ngx_event_recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/ngx_event_recv.c')
-rw-r--r--src/event/ngx_event_recv.c147
1 files changed, 0 insertions, 147 deletions
diff --git a/src/event/ngx_event_recv.c b/src/event/ngx_event_recv.c
deleted file mode 100644
index c083e8f61..000000000
--- a/src/event/ngx_event_recv.c
+++ /dev/null
@@ -1,147 +0,0 @@
-
-#include <ngx_config.h>
-#include <ngx_core.h>
-#include <ngx_errno.h>
-#include <ngx_log.h>
-#include <ngx_recv.h>
-#include <ngx_connection.h>
-
-ssize_t ngx_event_recv_core(ngx_connection_t *c, char *buf, size_t size)
-{
- ssize_t n;
- ngx_err_t err;
- ngx_event_t *ev;
-
- ev = c->read;
-
-/* DEBUG */
-#if (HAVE_KQUEUE)
- if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) {
- ngx_log_debug(c->log, "ngx_event_recv: eof:%d, avail:%d, err:%d" _
- ev->eof _ ev->available _ ev->error);
- }
-#endif
-
-#if (USE_KQUEUE)
-
- if (ev->eof && ev->available == 0) {
-
- if (ev->error == 0) {
- return 0;
- }
-
- ngx_set_socket_errno(ev->error);
- err = ev->error;
- n = -1;
-
- } else {
- n = ngx_recv(c->fd, buf, size, 0);
-
- if (n == -1) {
- err = ngx_socket_errno;
- }
- }
-
- if (n == -1) {
- ev->ready = 0;
-
- if (err == NGX_ECONNRESET && ev->ignore_econnreset) {
- return 0;
- }
-
- if (err == NGX_EAGAIN) {
- ngx_log_error(NGX_LOG_INFO, c->log, err, "recv() returned EAGAIN");
- return NGX_AGAIN;
- }
-
- ngx_log_error(NGX_LOG_ERR, c->log, err, "recv() failed");
- return NGX_ERROR;
- }
-
- ev->available -= n;
- if (ev->available == 0) {
- ev->ready = 0;
- }
-
- return n;
-
-#elif (HAVE_KQUEUE)
-
- if ((ngx_event_flags & NGX_HAVE_KQUEUE_EVENT)
- && ev->eof && ev->available == 0) {
-
- if (ev->error == 0) {
- return 0;
- }
-
- ngx_set_socket_errno(ev->error);
- err = ev->error;
- n = -1;
-
- } else {
- n = ngx_recv(c->fd, buf, size, 0);
-ngx_log_debug(c->log, "ngx_event_recv: read:%d:%d" _ n _ size);
-
- if (n == -1) {
- err = ngx_socket_errno;
- }
- }
-
- if (n == -1) {
- ev->ready = 0;
-
- if (err == NGX_ECONNRESET && ev->ignore_econnreset) {
- return 0;
- }
-
- if (err == NGX_EAGAIN) {
- ngx_log_error(NGX_LOG_INFO, c->log, err, "recv() returned EAGAIN");
- return NGX_AGAIN;
- }
-
- ngx_log_error(NGX_LOG_ERR, c->log, err, "recv() failed");
- return NGX_ERROR;
- }
-
- if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) {
- ev->available -= n;
- if (ev->available == 0) {
- ev->ready = 0;
- }
-
- } else if ((size_t) n < size) {
- ev->ready = 0;
- }
-
- return n;
-
-#else /* not kqueue */
-
- n = ngx_recv(c->fd, buf, size, 0);
-
- if (n == -1) {
- err = ngx_socket_errno;
-
- ev->ready = 0;
-
- if (err == NGX_ECONNRESET && ev->ignore_econnreset) {
- return 0;
- }
-
- if (err == NGX_EAGAIN) {
- ngx_log_error(NGX_LOG_INFO, c->log, err, "recv() returned EAGAIN");
- return NGX_AGAIN;
- }
-
- ngx_log_error(NGX_LOG_ERR, c->log, err, "recv() failed");
- return NGX_ERROR;
- }
-
- if ((size_t) n < size) {
- ev->ready = 0;
- }
-
- return n;
-
-#endif
-}