diff --git a/src/proxy.cc b/src/proxy.cc index cc3b109..c878ac6 100644 --- a/src/proxy.cc +++ b/src/proxy.cc @@ -75,9 +75,10 @@ void proxy::handle_solicit(const address& saddr, const address& daddr, for (std::list >::iterator sit = _sessions.begin(); sit != _sessions.end(); sit++) { - (*sit)->touch(); - - if ((*sit)->taddr() == taddr) { + if ((*sit)->taddr() == taddr) + { + (*sit)->touch(); + switch ((*sit)->status()) { case session::WAITING: case session::INVALID: