Fix problems with cancelled HTTP requests "corrupting" future requests.
This commit is contained in:
parent
e076496244
commit
4608278d6b
1 changed files with 3 additions and 0 deletions
|
@ -262,6 +262,7 @@ namespace Connector_HTTP {
|
|||
tthread::lock_guard<tthread::mutex> guard(connconn[uid]->in_use);
|
||||
//if the server connection is dead, handle as timeout.
|
||||
if ( !connconn.count(uid) || !connconn[uid]->conn->connected()){
|
||||
connconn[uid]->conn->close();
|
||||
return Handle_Timeout(H, conn);
|
||||
}
|
||||
//forward the original request
|
||||
|
@ -290,6 +291,7 @@ namespace Connector_HTTP {
|
|||
//keep trying unless the timeout triggers
|
||||
if (timeout++ > 4000){
|
||||
std::cout << "[20s timeout triggered]" << std::endl;
|
||||
connconn[uid]->conn->close();
|
||||
return Handle_Timeout(H, conn);
|
||||
}else{
|
||||
Util::sleep(5);
|
||||
|
@ -298,6 +300,7 @@ namespace Connector_HTTP {
|
|||
}
|
||||
if ( !connconn.count(uid) || !connconn[uid]->conn->connected() || !conn->connected()){
|
||||
//failure, disconnect and sent error to user
|
||||
connconn[uid]->conn->close();
|
||||
return Handle_Timeout(H, conn);
|
||||
}else{
|
||||
long long int ret = Util::getMS();
|
||||
|
|
Loading…
Add table
Reference in a new issue