Set some ivars (delegates which should not be retained) to be gc invisible.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27591 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2009-01-13 20:52:49 +00:00
parent 940de12cab
commit df141e4ab4
8 changed files with 28 additions and 3 deletions

View file

@ -143,6 +143,11 @@ static RunLoopEventType typeForStream(NSStream *aStream)
@implementation GSStream
+ (void) initialize
{
class_ivar_set_gcinvisible (self, "delegate", YES);
}
- (void) close
{
if (_currentStatus == NSStreamStatusNotOpen)
@ -626,6 +631,7 @@ static RunLoopEventType typeForStream(NSStream *aStream)
if (self == [GSInputStream class])
{
GSObjCAddClassBehavior(self, [GSStream class]);
class_ivar_set_gcinvisible (self, "delegate", YES);
}
}
@ -658,6 +664,7 @@ static RunLoopEventType typeForStream(NSStream *aStream)
if (self == [GSOutputStream class])
{
GSObjCAddClassBehavior(self, [GSStream class]);
class_ivar_set_gcinvisible (self, "delegate", YES);
}
}
@ -929,6 +936,11 @@ static RunLoopEventType typeForStream(NSStream *aStream)
@implementation GSServerStream
+ (void) initialize
{
class_ivar_set_gcinvisible (self, "delegate", YES);
}
+ (id) serverStreamToAddr: (NSString*)addr port: (int)port
{
GSServerStream *s;