mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
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:
parent
90720cfeca
commit
f60e96d7a0
5 changed files with 19 additions and 62 deletions
11
ChangeLog
11
ChangeLog
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue