<< DestinationEndpoint.address().to_string()
<< ": cancel timer" << endl;
IcmpPacketReceiveTimer.cancel();
- IcmpPingerItem icmp_item = boost::static_pointer_cast<IcmpPinger>( get_myself().lock() );
GlobalLogger.debug()
<< DestinationEndpoint.address().to_string()
<< ": unregister" << endl;
- PacketDistributor->unregister_pinger( icmp_item );
+
+ IcmpPingerItem icmp_item = boost::static_pointer_cast<IcmpPinger>( get_myself().lock() );
+ if ( icmp_item )
+ {
+ PacketDistributor->unregister_pinger( icmp_item );
+ } else
+ {
+ GlobalLogger.warning()
+ << DestinationEndpoint.address().to_string()
+ << ": weak pointer to pinger broken is empty. Huh?" << endl;
+ }
}