eoMpi: memory leak when setting own job functors. Fixed
This commit is contained in:
parent
7b5c98f3a6
commit
a7ce5c3ffb
2 changed files with 48 additions and 5 deletions
|
|
@ -447,10 +447,53 @@ namespace eo
|
||||||
IsFinishedFunction<JobData> & isFinished() { return *_iff; }
|
IsFinishedFunction<JobData> & isFinished() { return *_iff; }
|
||||||
|
|
||||||
// Setters
|
// Setters
|
||||||
void sendTask( SendTaskFunction<JobData>* stf ) { _stf = stf; }
|
void sendTask( SendTaskFunction<JobData>* stf )
|
||||||
void handleResponse( HandleResponseFunction<JobData>* hrf ) { _hrf = hrf; }
|
{
|
||||||
void processTask( ProcessTaskFunction<JobData>* ptf ) { _ptf = ptf; }
|
if( !stf )
|
||||||
void isFinished( IsFinishedFunction<JobData>* iff ) { _iff = iff; }
|
return;
|
||||||
|
|
||||||
|
if( _stf && _stf->needDelete() )
|
||||||
|
{
|
||||||
|
delete _stf;
|
||||||
|
}
|
||||||
|
_stf = stf;
|
||||||
|
}
|
||||||
|
|
||||||
|
void handleResponse( HandleResponseFunction<JobData>* hrf )
|
||||||
|
{
|
||||||
|
if( !hrf )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if( _hrf && _hrf->needDelete() )
|
||||||
|
{
|
||||||
|
delete _hrf;
|
||||||
|
}
|
||||||
|
_hrf = hrf;
|
||||||
|
}
|
||||||
|
|
||||||
|
void processTask( ProcessTaskFunction<JobData>* ptf )
|
||||||
|
{
|
||||||
|
if( !ptf )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if( _ptf && _ptf->needDelete() )
|
||||||
|
{
|
||||||
|
delete _ptf;
|
||||||
|
}
|
||||||
|
_ptf = ptf;
|
||||||
|
}
|
||||||
|
|
||||||
|
void isFinished( IsFinishedFunction<JobData>* iff )
|
||||||
|
{
|
||||||
|
if( !iff )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if( _iff && _iff->needDelete() )
|
||||||
|
{
|
||||||
|
delete _iff;
|
||||||
|
}
|
||||||
|
_iff = iff;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Helpers for wrapping send task functor.
|
* @brief Helpers for wrapping send task functor.
|
||||||
|
|
|
||||||
|
|
@ -397,7 +397,7 @@ namespace eo
|
||||||
|
|
||||||
/**************************************
|
/**************************************
|
||||||
* DEFAULT RESET ALGO IMPLEMENTATIONS *
|
* DEFAULT RESET ALGO IMPLEMENTATIONS *
|
||||||
**************************************
|
**************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief For a Genetic Algorithm, reinits the population by copying the original one
|
* @brief For a Genetic Algorithm, reinits the population by copying the original one
|
||||||
|
|
|
||||||
Reference in a new issue