Fix another HTTP async cork bug
This commit is contained in:
@@ -502,6 +502,13 @@ public:
|
|||||||
* from here downwards. The corking is done with corkUnchecked() in upgrade. It steals cork. */
|
* from here downwards. The corking is done with corkUnchecked() in upgrade. It steals cork. */
|
||||||
auto *newCorkedSocket = Super::corkedSocket();
|
auto *newCorkedSocket = Super::corkedSocket();
|
||||||
|
|
||||||
|
/* If nobody is corked, it means most probably that large amounts of data has
|
||||||
|
* been written and the cork buffer has already been sent off and uncorked.
|
||||||
|
* We are done here, if that is the case. */
|
||||||
|
if (!newCorkedSocket) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/* Timeout on uncork failure, since most writes will succeed while corked */
|
/* Timeout on uncork failure, since most writes will succeed while corked */
|
||||||
auto [written, failed] = static_cast<Super *>(newCorkedSocket)->uncork();
|
auto [written, failed] = static_cast<Super *>(newCorkedSocket)->uncork();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user