Changeset 4951
- Timestamp:
- 10/14/07 02:49:42 (10 months ago)
- Files:
-
- WiredAdditions/trunk/WIObject.h (modified) (1 diff)
- WiredAdditions/trunk/WIObject.m (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
WiredAdditions/trunk/WIObject.h
r4438 r4951 28 28 29 29 @interface WIObject : NSObject { 30 #ifdef __LP64__ 31 int64_t _WI_retainCount; 32 #else 33 int32_t _WI_retainCount; 34 #endif 30 NSUInteger _WI_retainCount; 35 31 } 36 32 WiredAdditions/trunk/WIObject.m
r4438 r4951 38 38 39 39 - (id)retain { 40 #ifdef __LP64__ 41 OSAtomicIncrement64Barrier(&_WI_retainCount); 42 #else 43 OSAtomicIncrement32Barrier(&_WI_retainCount); 44 #endif 40 _WI_retainCount++; 45 41 46 42 return self; … … 50 46 51 47 - (oneway void)release { 52 #ifdef __LP64__ 53 if(OSAtomicDecrement64Barrier(&_WI_retainCount) == -1) 48 if((NSInteger) --_WI_retainCount == -1) 54 49 [self dealloc]; 55 #else56 if(OSAtomicDecrement32Barrier(&_WI_retainCount) == -1)57 [self dealloc];58 #endif59 50 } 60 51
