Hi,
The code below in this function may be not appropriate.
//get the interfaces bound to the top of the hierachical bind chain
// NOTE: this could be the same socket if there is no hierachical bind
m_used_sockets=get_hierarch_bind()->get_sockets();
IEEE-1666-2011 stated:
In my case, I do some port binding in my sc_module's API of before_end_of_elaboration. Then, if tlm_utils::multi_passthrough_initiator_socket::before_end_of_elaboration() is called before the one in my sc_module, m_used_sockets may have the out-of-data of value. It still indicates that there's no binding for this socket. In fact, m_sockets really indicates that there's a binding now. Then subsequent usage of m_used_sockets may cause an error.