conns_entity_map.erase(conn_iter);
}
}
- /* now find xcon on conns_list, erase, and release sentinel ref */
- XioConnection::ConnList::iterator citer =
- XioConnection::ConnList::s_iterator_to(*xcon);
- /* XXX check if citer on conn_list? */
- conns_list.erase(citer);
+ /* check if citer on conn_list */
+ if (xcon->conns_hook.is_linked()) {
+ /* now find xcon on conns_list and erase */
+ XioConnection::ConnList::iterator citer =
+ XioConnection::ConnList::s_iterator_to(*xcon);
+ conns_list.erase(citer);
+ }
xcon->on_disconnect_event();
}
break;