21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
if (atomic) {
@synchronized (self) {
id ptr = *(id*)((char*)self + offset);
return [[ptr retain] autorelease];
}
}
return [[*(id*)((char*)self + offset) retain] autorelease];
}
void
objc_setProperty(id self, SEL _cmd, ptrdiff_t offset, id value, BOOL atomic,
BOOL copy)
{
if (atomic) {
|
|
|
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
if (atomic) {
@synchronized (self) {
id ptr = *(id*)((char*)self + offset);
return [[ptr retain] autorelease];
}
}
return *(id*)((char*)self + offset);
}
void
objc_setProperty(id self, SEL _cmd, ptrdiff_t offset, id value, BOOL atomic,
BOOL copy)
{
if (atomic) {
|