Deleted
Added
nxt_conn_write.c (494:7c83ddcc1c42) | nxt_conn_write.c (726:e3972a4a9c73) |
---|---|
1 2/* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8 --- 10 unchanged lines hidden (view full) --- 19 nxt_conn_t *c; 20 nxt_sendbuf_t sb; 21 nxt_event_engine_t *engine; 22 23 c = obj; 24 25 nxt_debug(task, "conn write fd:%d", c->socket.fd); 26 | 1 2/* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8 --- 10 unchanged lines hidden (view full) --- 19 nxt_conn_t *c; 20 nxt_sendbuf_t sb; 21 nxt_event_engine_t *engine; 22 23 c = obj; 24 25 nxt_debug(task, "conn write fd:%d", c->socket.fd); 26 |
27 if (c->socket.error != 0) { 28 goto error; 29 } 30 |
|
27 if (!c->socket.write_ready || c->write == NULL) { 28 return; 29 } 30 31 engine = task->thread->engine; 32 33 c->socket.write_handler = nxt_conn_io_write; 34 c->socket.error_handler = c->write_state->error_handler; --- 69 unchanged lines hidden (view full) --- 104 105 if (nxt_fd_event_is_disabled(c->socket.write)) { 106 nxt_fd_event_enable_write(engine, &c->socket); 107 } 108 } 109 } 110 111 if (ret == 0 || sb.sent != 0) { | 31 if (!c->socket.write_ready || c->write == NULL) { 32 return; 33 } 34 35 engine = task->thread->engine; 36 37 c->socket.write_handler = nxt_conn_io_write; 38 c->socket.error_handler = c->write_state->error_handler; --- 69 unchanged lines hidden (view full) --- 108 109 if (nxt_fd_event_is_disabled(c->socket.write)) { 110 nxt_fd_event_enable_write(engine, &c->socket); 111 } 112 } 113 } 114 115 if (ret == 0 || sb.sent != 0) { |
112 /* "ret == 0" means a sync buffer was processed. */ | 116 /* 117 * ret == 0 means a sync buffer was processed. 118 * ret == NXT_ERROR is ignored here if some data was sent, 119 * the error will be handled on the next nxt_conn_write() call. 120 */ |
113 c->sent += sb.sent; 114 nxt_work_queue_add(c->write_work_queue, c->write_state->ready_handler, 115 task, c, data); | 121 c->sent += sb.sent; 122 nxt_work_queue_add(c->write_work_queue, c->write_state->ready_handler, 123 task, c, data); |
116 /* 117 * Fall through if first operations were 118 * successful but the last one failed. 119 */ | 124 return; |
120 } 121 | 125 } 126 |
122 if (nxt_slow_path(ret == NXT_ERROR)) { 123 nxt_fd_event_block_write(engine, &c->socket); | 127 /* ret == NXT_ERROR */ |
124 | 128 |
125 nxt_work_queue_add(c->write_work_queue, c->write_state->error_handler, 126 task, c, data); 127 } | 129 nxt_fd_event_block_write(engine, &c->socket); 130 131error: 132 133 nxt_work_queue_add(c->write_work_queue, c->write_state->error_handler, 134 task, c, data); |
128} 129 130 131static void 132nxt_conn_write_timer_handler(nxt_task_t *task, void *obj, void *data) 133{ 134 nxt_conn_t *c; 135 nxt_timer_t *timer; --- 287 unchanged lines hidden --- | 135} 136 137 138static void 139nxt_conn_write_timer_handler(nxt_task_t *task, void *obj, void *data) 140{ 141 nxt_conn_t *c; 142 nxt_timer_t *timer; --- 287 unchanged lines hidden --- |