DO stability improvement.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4988 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 1999-10-12 12:46:46 +00:00
parent 90720cfeca
commit f60e96d7a0
5 changed files with 19 additions and 62 deletions

View file

@ -1,3 +1,14 @@
Tue Sep 12 14:00:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSConnection.m: Removed pointer cross-reference support as it
provided little performance improvement and was responsible for a few
bugs I've never been able to track down, and major problems if the maps
at either end of the link get out of sync (which is unavoidable in some
rare circumstances).
* Headers/Foundation/NSConnection.h: Removed cross-reference maps
* Source/ConnectedCoder.m: Removed pointer cross-reference support
* Source/NSPortCoder.m: Removed pointer cross-reference support
Fri Sep 8 12:05:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* configure.in: Correct path to include file for checking thread support

View file

@ -75,8 +75,6 @@ extern NSString *NSConnectionProxyCount; /* Objects received */
Class receive_port_class;
Class send_port_class;
Class encoding_class;
NSMapTable *incoming_xref_2_const_ptr;
NSMapTable *outgoing_const_ptr_2_xref;
id delegate;
NSMutableArray *request_modes;
}
@ -234,10 +232,6 @@ extern NSString *NSConnectionProxyCount; /* Objects received */
selector: (SEL)sel
argFrame: (arglist_t)frame;
- (const char *) typeForSelector: (SEL)sel remoteTarget: (unsigned)target;
- (unsigned) _encoderReferenceForConstPtr: (const void*)ptr;
- (const void*) _decoderConstPtrAtReference: (unsigned)xref;
- (unsigned) _encoderCreateReferenceForConstPtr: (const void*)ptr;
- (unsigned) _decoderCreateReferenceForConstPtr: (const void*)ptr;
@end

View file

@ -115,12 +115,12 @@ static BOOL debug_connected_coder = NO;
- (unsigned) _coderReferenceForConstPtr: (const void*)ptr
{
return [connection _encoderReferenceForConstPtr: ptr];
return 0;
}
- (unsigned) _coderCreateReferenceForConstPtr: (const void*)ptr
{
return [connection _encoderCreateReferenceForConstPtr: ptr];
return 0;
}
@ -222,12 +222,12 @@ static BOOL debug_connected_coder = NO;
- (unsigned) _coderCreateReferenceForConstPtr: (const void*)ptr
{
return [connection _decoderCreateReferenceForConstPtr: ptr];
return 0;
}
- (const void*) _coderConstPtrAtReference: (unsigned)xref
{
return [connection _decoderConstPtrAtReference: xref];
return 0;
}

View file

@ -707,8 +707,6 @@ static int messages_received_count;
NSFreeMapTable (remote_proxies);
NSFreeMapTable (local_objects);
NSFreeMapTable (local_targets);
NSFreeMapTable (incoming_xref_2_const_ptr);
NSFreeMapTable (outgoing_const_ptr_2_xref);
[proxiesHashGate unlock];
[arp release];
@ -945,13 +943,6 @@ static int messages_received_count;
NSCreateMapTable (NSIntMapKeyCallBacks,
NSNonOwnedPointerMapValueCallBacks, 0);
newConn->incoming_xref_2_const_ptr =
NSCreateMapTable (NSIntMapKeyCallBacks,
NSNonOwnedPointerMapValueCallBacks, 0);
newConn->outgoing_const_ptr_2_xref =
NSCreateMapTable (NSIntMapKeyCallBacks,
NSNonOwnedPointerMapValueCallBacks, 0);
newConn->reply_timeout = [self defaultInTimeout];
newConn->request_timeout = [self defaultOutTimeout];
newConn->encoding_class = default_encoding_class;
@ -2255,45 +2246,6 @@ static int messages_received_count;
return default_decoding_class;
}
/* Support for cross-connection const-ptr cache. */
- (unsigned) _encoderCreateReferenceForConstPtr: (const void*)ptr
{
unsigned xref;
NSParameterAssert (is_valid);
/* This must match the assignment of xref in _decoderCreateRef... */
xref = NSCountMapTable (outgoing_const_ptr_2_xref) + 1;
NSParameterAssert (! NSMapGet (outgoing_const_ptr_2_xref, (void*)xref));
NSMapInsert (outgoing_const_ptr_2_xref, ptr, (void*)xref);
return xref;
}
- (unsigned) _encoderReferenceForConstPtr: (const void*)ptr
{
NSParameterAssert (is_valid);
return (unsigned) NSMapGet (outgoing_const_ptr_2_xref, ptr);
}
- (unsigned) _decoderCreateReferenceForConstPtr: (const void*)ptr
{
unsigned xref;
NSParameterAssert (is_valid);
/* This must match the assignment of xref in _encoderCreateRef... */
xref = NSCountMapTable (incoming_xref_2_const_ptr) + 1;
NSMapInsert (incoming_xref_2_const_ptr, (void*)xref, ptr);
return xref;
}
- (const void*) _decoderConstPtrAtReference: (unsigned)xref
{
NSParameterAssert (is_valid);
return NSMapGet (incoming_xref_2_const_ptr, (void*)xref);
}
/* Prevent trying to encode the connection itself */

View file

@ -162,12 +162,12 @@ static BOOL debug_connected_coder = NO;
- (unsigned) _coderReferenceForConstPtr: (const void*)ptr
{
return [connection _encoderReferenceForConstPtr: ptr];
return 0;
}
- (unsigned) _coderCreateReferenceForConstPtr: (const void*)ptr
{
return [connection _encoderCreateReferenceForConstPtr: ptr];
return 0;
}
@ -341,12 +341,12 @@ static BOOL debug_connected_coder = NO;
- (unsigned) _coderCreateReferenceForConstPtr: (const void*)ptr
{
return [connection _decoderCreateReferenceForConstPtr: ptr];
return 0;
}
- (const void*) _coderConstPtrAtReference: (unsigned)xref
{
return [connection _decoderConstPtrAtReference: xref];
return 0;
}