| 207 } |
207 } |
| 208 |
208 |
| 209 static ssize_t proxy_response_write(HttpClient *client, void *buf, size_t nbytes, void *userdata) { |
209 static ssize_t proxy_response_write(HttpClient *client, void *buf, size_t nbytes, void *userdata) { |
| 210 ProxyRequest *proxy = userdata; |
210 ProxyRequest *proxy = userdata; |
| 211 ssize_t ret = net_write(proxy->sn->csd, buf, nbytes); |
211 ssize_t ret = net_write(proxy->sn->csd, buf, nbytes); |
| 212 if(ret == NETBUF_EOF) { |
212 if(ret < 0) { |
| 213 ret = HTTP_CLIENT_CALLBACK_ERROR; |
|
| 214 } else if(ret < 0) { |
|
| 215 IOStream *st = proxy->sn->csd; |
213 IOStream *st = proxy->sn->csd; |
| 216 if(st->io_errno == EWOULDBLOCK) { |
214 if(st->io_errno == EWOULDBLOCK) { |
| 217 log_ereport(LOG_INFORM, "proxy_response_write would block"); |
215 log_ereport(LOG_INFORM, "proxy_response_write would block"); |
| 218 // Is there already an poll event for csd? |
216 // Is there already an poll event for csd? |
| 219 if(client->last_event == &proxy->event) { |
217 if(client->last_event == &proxy->event) { |