Re: Garbage collector vs variable lifetime
Re: Garbage collector vs variable lifetime
- Subject: Re: Garbage collector vs variable lifetime
- From: Ricky Sharp <email@hidden>
- Date: Sat, 7 Jun 2008 14:43:51 -0500
On Jun 7, 2008, at 2:07 PM, Jean-Daniel Dupas wrote:
Le 7 juin 08 à 20:30, Michael Ash a écrit :
On Sat, Jun 7, 2008 at 9:59 AM, Ricky Sharp <email@hidden> wrote:
I will hope though that within the context of say memcpy, that the
GC thread
could not collect data. For example, the following should be safe:
memcpy(myLocalGCAwareBuffer, [data bytes], numberOfBytes);
Not at all. The semantics of this is identical to the semantics of
just writing your own loop. Nothing guarantees that the data pointer
stays on the stack during the memcpy. If nothing else references the
data then you *must* either ensure that a reference stays on the
stack
(by, for example, messaging it afterwards) or you must disable
collection for it until you're done with its contents.
This is not a problem, just replace thoses two calls by a single
method invocation: -[NSData getBytes:buffer length:length];
That would definitely work quite nicely.
___________________________________________________________
Ricky A. Sharp mailto:email@hidden
Instant Interactive(tm) http://www.instantinteractive.com
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden