forked from vitalif/vitastor
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));
|
||||
if (r < 0 && errno != EINPROGRESS)
|
||||
{
|
||||
close_connection();
|
||||
parsed = { .error = std::string("connect: ")+strerror(errno) };
|
||||
response_callback(&parsed);
|
||||
response_callback = NULL;
|
||||
|
@ -344,9 +345,12 @@ void http_co_t::handle_connect_result()
|
|||
if (result != 0)
|
||||
{
|
||||
close_connection();
|
||||
parsed = { .error = std::string("connect: ")+strerror(result) };
|
||||
response_callback(&parsed);
|
||||
response_callback = NULL;
|
||||
if (response_callback != NULL)
|
||||
{
|
||||
parsed = { .error = std::string("connect: ")+strerror(result) };
|
||||
response_callback(&parsed);
|
||||
response_callback = NULL;
|
||||
}
|
||||
stackout();
|
||||
return;
|
||||
}
|
||||
|
@ -383,8 +387,14 @@ again:
|
|||
}
|
||||
else if (res < 0)
|
||||
{
|
||||
close_connection();
|
||||
if (response_callback != NULL)
|
||||
{
|
||||
parsed = { .error = std::string("sendmsg: ")+strerror(errno) };
|
||||
response_callback(&parsed);
|
||||
response_callback = NULL;
|
||||
}
|
||||
stackout();
|
||||
end();
|
||||
return;
|
||||
}
|
||||
sent += res;
|
||||
|
@ -428,9 +438,17 @@ void http_co_t::submit_read()
|
|||
else if (res <= 0)
|
||||
{
|
||||
// < 0 means error, 0 means EOF
|
||||
if (!res)
|
||||
epoll_events = epoll_events & ~EPOLLIN;
|
||||
end();
|
||||
epoll_events = epoll_events & ~EPOLLIN;
|
||||
close_connection();
|
||||
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
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue