| 802 // 1 would block or error |
802 // 1 would block or error |
| 803 static int client_write_response(HttpClient *client) { |
803 static int client_write_response(HttpClient *client) { |
| 804 while(client->transfer2_buffer_pos < client->transfer2_buffer_len) { |
804 while(client->transfer2_buffer_pos < client->transfer2_buffer_len) { |
| 805 char *buf = client->transfer2_buffer + client->transfer2_buffer_pos; |
805 char *buf = client->transfer2_buffer + client->transfer2_buffer_pos; |
| 806 size_t len = client->transfer2_buffer_len - client->transfer2_buffer_pos; |
806 size_t len = client->transfer2_buffer_len - client->transfer2_buffer_pos; |
| 807 int ret = client->response_body_write(client, buf, len, client->response_body_write_userdata); |
807 ssize_t ret = client->response_body_write(client, buf, len, client->response_body_write_userdata); |
| 808 log_ereport(LOG_DEBUG, "client_write_response: %d bytes; ret: %d", (int)len, ret); |
808 log_ereport(LOG_DEBUG, "client_write_response: %d bytes; ret: %d", (int)len, ret); |
| 809 if(ret > 0) { |
809 if(ret > 0) { |
| 810 client->transfer2_buffer_pos += ret; |
810 client->transfer2_buffer_pos += ret; |
| 811 } else if(ret == 0) { |
811 } else if(ret == 0) { |
| 812 // EOF? |
812 // EOF? |