[ https://issues.apache.org/jira/browse/TS-4131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15111356#comment-15111356 ]
ASF GitHub Bot commented on TS-4131: ------------------------------------ GitHub user bryancall opened a pull request: https://github.com/apache/trafficserver/pull/434 TS-4131: InactivityCop doesn't close active connections that have tim… …edout You can merge this pull request into a Git repository by running: $ git pull https://github.com/bryancall/trafficserver ts-4131 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/trafficserver/pull/434.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #434 ---- commit c2d29ed2f695c7e24c2abb9f98de9a6f27a34650 Author: Bryan Call <bc...@apache.org> Date: 2016-01-21T21:45:42Z TS-4131: InactivityCop doesn't close active connections that have timedout ---- > InactivityCop doesn't close active connections that have timedout > ----------------------------------------------------------------- > > Key: TS-4131 > URL: https://issues.apache.org/jira/browse/TS-4131 > Project: Traffic Server > Issue Type: Bug > Components: Core > Reporter: Oknet Xu > Assignee: Bryan Call > Priority: Blocker > Labels: regresion > Fix For: 6.1.0 > > > relative code below: > {code} > int > UnixNetVConnection::mainEvent(int event, Event *e) > { > ink_assert(event == EVENT_IMMEDIATE || event == EVENT_INTERVAL); > ink_assert(thread == this_ethread()); > ... > #ifdef INACTIVITY_TIMEOUT > if (e == inactivity_timeout) { > signal_event = VC_EVENT_INACTIVITY_TIMEOUT; > signal_timeout = &inactivity_timeout; > } else { > ink_assert(e == active_timeout); > signal_event = VC_EVENT_ACTIVE_TIMEOUT; > signal_timeout = &active_timeout; > } > #else > if (event == EVENT_IMMEDIATE) { > /* BZ 49408 */ > // ink_assert(inactivity_timeout_in); > // ink_assert(next_inactivity_timeout_at < ink_get_hrtime()); > if (!inactivity_timeout_in || next_inactivity_timeout_at > > Thread::get_hrtime()) > return EVENT_CONT; > signal_event = VC_EVENT_INACTIVITY_TIMEOUT; > signal_timeout_at = &next_inactivity_timeout_at; > } else { > signal_event = VC_EVENT_ACTIVE_TIMEOUT; > signal_timeout_at = &next_activity_timeout_at; > } > #endif > {code} > To enable InactiveCop, the INACTIVITY_TIMEOUT is not defined. > an event == EVENT_INTERVAL callback means VC_EVENT_ACTIVE_TIMEOUT. > but there are only EVENT_IMMEDIATE callbacked from InactiveCop. -- This message was sent by Atlassian JIRA (v6.3.4#6332)