[Enhancement]patch poco for keep-alive (#52599)

Signed-off-by: zombee0 <ewang2027@gmail.com>
This commit is contained in:
zombee0 2024-11-06 15:00:44 +08:00 committed by GitHub
parent 3745ede0c1
commit c6913e2f5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 28 additions and 0 deletions

View File

@ -561,6 +561,7 @@ if [[ -d $TP_SOURCE_DIR/$POCO_SOURCE ]] ; then
if [ ! -f "$PATCHED_MARK" ] && [[ $POCO_SOURCE == "poco-1.12.5-release" ]] ; then
patch -p1 < "$TP_PATCH_DIR/poco-1.12.5-ca.patch"
patch -p1 < "$TP_PATCH_DIR/poco-1.12.5-zero-copy.patch"
patch -p1 < "$TP_PATCH_DIR/poco-1.12.5-keep-alive.patch"
touch "$PATCHED_MARK"
fi
cd -

View File

@ -0,0 +1,27 @@
diff --git a/Net/src/HTTPClientSession.cpp b/Net/src/HTTPClientSession.cpp
index b9591f0..f5ac624 100644
--- a/Net/src/HTTPClientSession.cpp
+++ b/Net/src/HTTPClientSession.cpp
@@ -465,7 +465,7 @@ int HTTPClientSession::write(const char* buffer, std::streamsize length)
_reconnect = false;
return rc;
}
- catch (IOException&)
+ catch (Poco::Exception&)
{
if (_reconnect)
{
diff --git a/Net/src/HTTPStream.cpp b/Net/src/HTTPStream.cpp
index 61fce2b..9a801e5 100644
--- a/Net/src/HTTPStream.cpp
+++ b/Net/src/HTTPStream.cpp
@@ -43,7 +43,8 @@ void HTTPStreamBuf::close()
if (_mode & std::ios::out)
{
sync();
- _session.socket().shutdownSend();
+ if (!_session.getKeepAlive())
+ _session.socket().shutdownSend();
}
}