more leak cleanup stuff

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33349 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2011-06-19 13:34:17 +00:00
parent 1685ca1b68
commit e78ceb4c96
10 changed files with 165 additions and 68 deletions

View file

@ -1101,6 +1101,13 @@ objc_create_block_classes_as_subclasses_of(Class super);
GSObjCBehaviorDebug(GSPrivateEnvironmentFlag("GNUSTEP_BEHAVIOR_DEBUG",
GSObjCBehaviorDebug(-1)));
/* See if we should cleanup at process exit.
*/
if (YES == GSPrivateEnvironmentFlag("GNUSTEP_SHOULD_CLEAN_UP", NO))
{
[self setShouldCleanUp: YES];
}
/* Set up the autorelease system ... we must do this before using any
* other class whose +initialize might autorelease something.
*/
@ -1113,13 +1120,6 @@ objc_create_block_classes_as_subclasses_of(Class super);
*/
NSConstantStringClass = [NSString constantStringClass];
/* See if we should cleanup at process exit.
*/
if (YES == GSPrivateEnvironmentFlag("GNUSTEP_SHOULD_CLEAN_UP", NO))
{
[self setShouldCleanUp: YES];
}
GSPrivateBuildStrings();
/* Determine zombie management flags and set up a map to store
@ -1129,6 +1129,7 @@ objc_create_block_classes_as_subclasses_of(Class super);
NSDeallocateZombies = GSPrivateEnvironmentFlag("NSDeallocateZombies", NO);
zombieMap = NSCreateMapTable(NSNonOwnedPointerMapKeyCallBacks,
NSNonOwnedPointerMapValueCallBacks, 0);
[[NSObject leakAt: (id*)&zombieMap] release];
/* We need to cache the zombie class.
* We can't call +class because NSZombie doesn't have that method.