mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 03:40:04 +02:00
valgrind leak from tasks not deleting funcs
This commit is contained in:
parent
c3a9d3c342
commit
70e193b0fd
@ -270,7 +270,10 @@ slsDetector::~slsDetector(){
|
|||||||
else
|
else
|
||||||
printf("Shared memory %d detached\n", shmId);
|
printf("Shared memory %d detached\n", shmId);
|
||||||
#endif
|
#endif
|
||||||
delete thisReceiver;
|
if(controlSocket) delete controlSocket;
|
||||||
|
if(stopSocket) delete stopSocket;
|
||||||
|
if(dataSocket) delete dataSocket;
|
||||||
|
if(thisReceiver) delete thisReceiver;
|
||||||
};
|
};
|
||||||
|
|
||||||
slsDetector::slsDetector(int pos, char *name, int id, int cport,multiSlsDetector *p) : slsDetectorUtils(),
|
slsDetector::slsDetector(int pos, char *name, int id, int cport,multiSlsDetector *p) : slsDetectorUtils(),
|
||||||
|
@ -15,9 +15,7 @@ receiverInterface::receiverInterface(MySocketTCP *socket):dataSocket(socket){}
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
receiverInterface::~receiverInterface(){
|
receiverInterface::~receiverInterface(){}
|
||||||
delete dataSocket;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ class SuperTask: public virtual slsDetectorDefs {
|
|||||||
public:
|
public:
|
||||||
SuperTask():
|
SuperTask():
|
||||||
m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0),m16(0),m17(0),m18(0){};
|
m1(0),m2(0),m3(0),m4(0),m5(0),m6(0),m7(0),m8(0),m9(0),m10(0),m11(0),m12(0),m13(0),m14(0),m15(0),m16(0),m17(0),m18(0){};
|
||||||
~SuperTask(){};
|
virtual ~SuperTask(){};
|
||||||
protected:
|
protected:
|
||||||
/** Function signature defined
|
/** Function signature defined
|
||||||
* First argument is Return type, the remaining are arguments
|
* First argument is Return type, the remaining are arguments
|
||||||
@ -159,7 +159,32 @@ public:
|
|||||||
Task(func4_t <int, int,int,detectorSettings,int>* t): SuperTask(),fnum(17){m17 = t;};
|
Task(func4_t <int, int,int,detectorSettings,int>* t): SuperTask(),fnum(17){m17 = t;};
|
||||||
Task(func4_t <dacs_t, dacs_t,dacIndex,int,int>* t): SuperTask(),fnum(18){m18 = t;};
|
Task(func4_t <dacs_t, dacs_t,dacIndex,int,int>* t): SuperTask(),fnum(18){m18 = t;};
|
||||||
|
|
||||||
~Task(){}
|
virtual ~Task(){
|
||||||
|
switch(fnum) {
|
||||||
|
case 1: delete m1; break;
|
||||||
|
case 2: delete m2; break;
|
||||||
|
case 3: delete m3; break;
|
||||||
|
case 4: delete m4; break;
|
||||||
|
case 5: delete m5; break;
|
||||||
|
case 6: delete m6; break;
|
||||||
|
case 7: delete m7; break;
|
||||||
|
case 8: delete m8; break;
|
||||||
|
case 9: delete m9; break;
|
||||||
|
case 10: delete m10; break;
|
||||||
|
case 11: delete m11; break;
|
||||||
|
case 12: delete m12; break;
|
||||||
|
case 13: delete m13; break;
|
||||||
|
case 14: delete m14; break;
|
||||||
|
case 15: delete m15; break;
|
||||||
|
case 16: delete m16; break;
|
||||||
|
case 17: delete m17; break;
|
||||||
|
case 18: delete m18; break;
|
||||||
|
default:
|
||||||
|
cprintf(RED, "Error: Task not defined. Abort!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
void operator()(){
|
void operator()(){
|
||||||
switch(fnum) {
|
switch(fnum) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user