Neutrino-MP Commit 3ea3f174608d90daa39dab74554329f0aa8f4004

Entwicklung
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Neutrino-MP Commit 3ea3f174608d90daa39dab74554329f0aa8f4004

Beitrag von Gaucho316 »

Muss

Code: Alles auswählen

delete eptr;
nicht von einem
#ifndef USE_BOOST_SHARED_PTR
umschlossen werden, damit der Code uns nicht um die Ohren fliegt, wenn jemand

Code: Alles auswählen

#define USE_BOOST_SHARED_PTR
in eitd.h aktiviert? :gruebel:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Neutrino-MP Commit 3ea3f174608d90daa39dab74554329f0aa8f4

Beitrag von seife »

glaub ich nicht.
Aber ich werde den Code sowieso noch überarbeiten, denn man muss den Event nicht erst allokieren nur um ihn gleich wieder zu löschen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Neutrino-MP Commit 3ea3f174608d90daa39dab74554329f0aa8f4

Beitrag von Gaucho316 »

In Zeile 239 bis 241 wird das aber auch so gemacht.
seife hat geschrieben:Boost wird benutzt, und ich kann mir (ohne den Code gelesen zu haben) nicht vorstellen wie es sich darum kümmern soll, wenn es das objekt niemals "behandelt" hat.
Laut Zeile 41 bis 49 in eitd.h wird Boost nicht benutzt. Oder übersehe ich da etwas?

Mir ist der sectionsd gestern nach dem Portieren dieses Patches in Neutrino-SD nach einiger Zeit um die Ohren geflogen, weil vermutlich zweimal dasselbe Objekt gelöscht wurde.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Neutrino-MP Commit 3ea3f174608d90daa39dab74554329f0aa8f4

Beitrag von seife »

Ah, ok. Ich dachte dass im neutrino-mp boost noch für andere sachen benutzt wird und nur die shared_ptr ausgeschaltet wären.

In dem Fall würde ich warten, bis ich die anderen änderungen drin habe und das erst dann übernehmen.

Wenn du bisher keine Speicherlecks hast, musst du das ja auch nicht löschen :-) Ich habe halt explizit mit valgrind festgestellt, dass es leaked.

Ich hatte mich noch gewundert, warum das jetzt leaked und früher nicht (ich hatte den sectionsd nämlich vor Jahren schon leckfrei bekommen) aber die Umstellung shared_ptr <--> non-boost würde das evtl. erklären.