X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FConnectors.cci;h=5dcb08ed6f9c7b3d2855cc2b0ee2ca46f6b48706;hb=9035ae419b1dc9dc537e00d0f7ffc4b22e19422a;hp=a046feb4c50c6493b4ca38fdcddd2316702bd140;hpb=550a30f99f2edbe72434c1b5f2a225320d0ef4ca;p=senf.git diff --git a/PPI/Connectors.cci b/PPI/Connectors.cci index a046feb..5dcb08e 100644 --- a/PPI/Connectors.cci +++ b/PPI/Connectors.cci @@ -53,10 +53,14 @@ prefix_ senf::ppi::connector::Connector::Connector() {} prefix_ senf::ppi::connector::Connector::~Connector() -{} +{ + if (peer_) + peer_->peer_ = 0; +} prefix_ void senf::ppi::connector::Connector::connect(Connector & target) { + BOOST_ASSERT( ! peer_ && ! target.peer_ ); peer_ = & target; target.peer_ = this; } @@ -86,9 +90,10 @@ prefix_ bool senf::ppi::connector::PassiveConnector::nativeThrottled() prefix_ void senf::ppi::connector::PassiveConnector::throttle() { - if (!throttled()) + if (!throttled()) { + nativeThrottled_ = true; emitThrottle(); - nativeThrottled_ = true; + } } prefix_ void senf::ppi::connector::PassiveConnector::unthrottle()