git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1320 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
20 lines
754 B
Plaintext
20 lines
754 B
Plaintext
#ifndef __DISABLE_ADD_REMOVE_LOGFN_AH__
|
|
#define __DISABLE_ADD_REMOVE_LOGFN_AH__
|
|
|
|
/* Hack to prevent Bochs' logfunctions list (bochs.h) to overflow if the
|
|
* experiment restores simulator state more than ~1000 times.
|
|
*
|
|
* The "proper" fix would be to completely unregister all log functions before
|
|
* restore, i.e. to destroy all objects deriving from class logfunctions. We
|
|
* decided to simply ignore this tiny memory leak and to hack around the
|
|
* problem by disabling iofunctions::add/remove_logfn().
|
|
*/
|
|
aspect DisableLogFunctions {
|
|
pointcut add_remove_logfn() =
|
|
"void iofunctions::add_logfn(...)" ||
|
|
"void iofunctions::remove_logfn(...)";
|
|
advice execution (add_remove_logfn()) : around () { }
|
|
};
|
|
|
|
#endif // __DISABLE_ADD_REMOVE_LOGFN_AH__
|