Skip to content

Commit 71732b3

Browse files
youzhiyuanjenrryyou
authored andcommitted
defer_close_second consider last_active_time
1 parent d22fa17 commit 71732b3

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/brpc/socket_map.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,10 @@ void SocketMap::RemoveInternal(const SocketMapKey& key,
295295
const int defer_close_second = _options.defer_close_second_dynamic ?
296296
*_options.defer_close_second_dynamic
297297
: _options.defer_close_second;
298-
if (!remove_orphan && defer_close_second > 0) {
299-
// Start count down on this Socket
298+
if (!remove_orphan && defer_close_second > 0
299+
&& sc->no_ref_us <= (sc->socket->last_active_time_us() + defer_close_second * 1000000L)) {
300+
// Start count down on this Socket. If the socket has been idle for
301+
// longer than defer_close_second already, close it immediately.
300302
sc->no_ref_us = butil::cpuwide_time_us();
301303
} else {
302304
Socket* const s = sc->socket;

0 commit comments

Comments
 (0)