mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-27 06:25:51 +00:00
Improve SSLHTTPPeer asynchronous shutdown
This commit is contained in:
committed by
Nik Bougalis
parent
d98c4992dd
commit
d289512aeb
@@ -48,14 +48,15 @@ public:
|
|||||||
char* duplicateStringValue ( const char* value,
|
char* duplicateStringValue ( const char* value,
|
||||||
unsigned int length = unknown ) override
|
unsigned int length = unknown ) override
|
||||||
{
|
{
|
||||||
//@todo invesgate this old optimization
|
//@todo investigate this old optimization
|
||||||
//if ( !value || value[0] == 0 )
|
//if ( !value || value[0] == 0 )
|
||||||
// return 0;
|
// return 0;
|
||||||
|
|
||||||
if ( length == unknown )
|
if ( length == unknown )
|
||||||
length = (unsigned int)strlen (value);
|
length = value ? (unsigned int)strlen ( value ) : 0;
|
||||||
|
|
||||||
char* newString = static_cast<char*> ( malloc ( length + 1 ) );
|
char* newString = static_cast<char*> ( malloc ( length + 1 ) );
|
||||||
|
if ( value )
|
||||||
memcpy ( newString, value, length );
|
memcpy ( newString, value, length );
|
||||||
newString[length] = 0;
|
newString[length] = 0;
|
||||||
return newString;
|
return newString;
|
||||||
|
|||||||
@@ -179,6 +179,16 @@ SSLHTTPPeer<Handler>::
|
|||||||
on_shutdown(error_code ec)
|
on_shutdown(error_code ec)
|
||||||
{
|
{
|
||||||
this->cancel_timer();
|
this->cancel_timer();
|
||||||
|
|
||||||
|
if (ec == boost::asio::error::operation_aborted)
|
||||||
|
return;
|
||||||
|
if (ec)
|
||||||
|
{
|
||||||
|
JLOG(this->journal_.debug()) <<
|
||||||
|
"on_shutdown: " << ec.message();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close socket now in case this->destructor is delayed
|
||||||
stream_.lowest_layer().close(ec);
|
stream_.lowest_layer().close(ec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user