From ea21ed77e71d1052b50ad6fe6337c89d4f4d05d2 Mon Sep 17 00:00:00 2001 From: Oknet Xu Date: Wed, 29 Jun 2016 16:25:38 +0800 Subject: [PATCH] TS-4614: avoid e->schedule_in for dummy event --- iocore/net/UnixNet.cc | 5 +++-- iocore/net/UnixNetVConnection.cc | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/iocore/net/UnixNet.cc b/iocore/net/UnixNet.cc index a17d0d16763..9d8ede0a0d7 100644 --- a/iocore/net/UnixNet.cc +++ b/iocore/net/UnixNet.cc @@ -682,8 +682,9 @@ NetHandler::_close_vc(UnixNetVConnection *vc, ink_hrtime now, int &handle_event, // create a dummy event Event event; event.ethread = this_ethread(); - vc->handleEvent(EVENT_IMMEDIATE, &event); - ++handle_event; + if (vc->handleEvent(EVENT_IMMEDIATE, &event) == EVENT_DONE) { + ++handle_event; + } } } diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc index c528f3527f4..4bee2f21073 100644 --- a/iocore/net/UnixNetVConnection.cc +++ b/iocore/net/UnixNetVConnection.cc @@ -1139,8 +1139,8 @@ UnixNetVConnection::mainEvent(int event, Event *e) (write.vio.mutex && wlock.get_mutex() != write.vio.mutex.get())) { #ifdef INACTIVITY_TIMEOUT if (e == active_timeout) -#endif e->schedule_in(HRTIME_MSECONDS(net_retry_delay)); +#endif return EVENT_CONT; }