[Enhancement]patch poco for keep-alive (#52599)
Signed-off-by: zombee0 <ewang2027@gmail.com>
This commit is contained in:
parent
3745ede0c1
commit
c6913e2f5f
|
|
@ -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 -
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue