Remove two last end()s from http_client (should have been removed in the keepalive patch)
parent
8a6b07d8f7
commit
a43ef525a2
|
@ -283,6 +283,7 @@ void http_co_t::start_connection()
|
||||||
int r = ::connect(peer_fd, (sockaddr*)&addr, sizeof(addr));
|
int r = ::connect(peer_fd, (sockaddr*)&addr, sizeof(addr));
|
||||||
if (r < 0 && errno != EINPROGRESS)
|
if (r < 0 && errno != EINPROGRESS)
|
||||||
{
|
{
|
||||||
|
close_connection();
|
||||||
parsed = { .error = std::string("connect: ")+strerror(errno) };
|
parsed = { .error = std::string("connect: ")+strerror(errno) };
|
||||||
response_callback(&parsed);
|
response_callback(&parsed);
|
||||||
response_callback = NULL;
|
response_callback = NULL;
|
||||||
|
@ -344,9 +345,12 @@ void http_co_t::handle_connect_result()
|
||||||
if (result != 0)
|
if (result != 0)
|
||||||
{
|
{
|
||||||
close_connection();
|
close_connection();
|
||||||
parsed = { .error = std::string("connect: ")+strerror(result) };
|
if (response_callback != NULL)
|
||||||
response_callback(&parsed);
|
{
|
||||||
response_callback = NULL;
|
parsed = { .error = std::string("connect: ")+strerror(result) };
|
||||||
|
response_callback(&parsed);
|
||||||
|
response_callback = NULL;
|
||||||
|
}
|
||||||
stackout();
|
stackout();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -383,8 +387,14 @@ again:
|
||||||
}
|
}
|
||||||
else if (res < 0)
|
else if (res < 0)
|
||||||
{
|
{
|
||||||
|
close_connection();
|
||||||
|
if (response_callback != NULL)
|
||||||
|
{
|
||||||
|
parsed = { .error = std::string("sendmsg: ")+strerror(errno) };
|
||||||
|
response_callback(&parsed);
|
||||||
|
response_callback = NULL;
|
||||||
|
}
|
||||||
stackout();
|
stackout();
|
||||||
end();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sent += res;
|
sent += res;
|
||||||
|
@ -428,9 +438,17 @@ void http_co_t::submit_read()
|
||||||
else if (res <= 0)
|
else if (res <= 0)
|
||||||
{
|
{
|
||||||
// < 0 means error, 0 means EOF
|
// < 0 means error, 0 means EOF
|
||||||
if (!res)
|
epoll_events = epoll_events & ~EPOLLIN;
|
||||||
epoll_events = epoll_events & ~EPOLLIN;
|
close_connection();
|
||||||
end();
|
if (res < 0)
|
||||||
|
parsed = { .error = std::string("recvmsg: ")+strerror(-res) };
|
||||||
|
else
|
||||||
|
parsed.eof = true;
|
||||||
|
if (response_callback != NULL)
|
||||||
|
{
|
||||||
|
response_callback(&parsed);
|
||||||
|
response_callback = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue