PIPeer important fix!
git-svn-id: svn://db.shs.com.ru/pip@116 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -149,6 +149,13 @@ PIPeer::PIPeer(const PIString & name_): PIObject() {
|
|||||||
|
|
||||||
PIPeer::~PIPeer() {
|
PIPeer::~PIPeer() {
|
||||||
destroyed = true;
|
destroyed = true;
|
||||||
|
PIMutexLocker ml(peers_mutex);
|
||||||
|
piForeach (PeerInfo & p, peers)
|
||||||
|
if (p._data) {
|
||||||
|
p._data->dt_in.stop();
|
||||||
|
p._data->dt_out.stop();
|
||||||
|
p._data->t.stop(true);
|
||||||
|
}
|
||||||
timer.stop();
|
timer.stop();
|
||||||
diag_s.stop();
|
diag_s.stop();
|
||||||
diag_d.stop();
|
diag_d.stop();
|
||||||
@@ -161,6 +168,8 @@ PIPeer::~PIPeer() {
|
|||||||
sendSelfRemove();
|
sendSelfRemove();
|
||||||
destroyMBcasts();
|
destroyMBcasts();
|
||||||
eth_send.close();
|
eth_send.close();
|
||||||
|
piForeach (PeerInfo & p, peers)
|
||||||
|
p.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ void _PITimerImp_Pool::Pool::add(_PITimerImp_Pool * t) {
|
|||||||
void _PITimerImp_Pool::Pool::remove(_PITimerImp_Pool * t) {
|
void _PITimerImp_Pool::Pool::remove(_PITimerImp_Pool * t) {
|
||||||
//piCout << "remove ...";
|
//piCout << "remove ...";
|
||||||
lock();
|
lock();
|
||||||
to_remove.removeOne(t);
|
to_remove << t;
|
||||||
unlock();
|
unlock();
|
||||||
//piCout << "remove done";
|
//piCout << "remove done";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user