You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Oknet Xu (JIRA)" <ji...@apache.org> on 2016/01/14 09:29:39 UTC

[jira] [Created] (TS-4131) InactivityCop broken the VC_EVENT_ACTIVE_TIMEOUT

Oknet Xu created TS-4131:
----------------------------

             Summary: InactivityCop broken the VC_EVENT_ACTIVE_TIMEOUT
                 Key: TS-4131
                 URL: https://issues.apache.org/jira/browse/TS-4131
             Project: Traffic Server
          Issue Type: Bug
          Components: Core
            Reporter: Oknet Xu


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)