On Mon, Dec 14, 2015, at 07:34 PM, Greg Parker wrote: > > > On Dec 14, 2015, at 7:26 PM, Kevin Ballard via swift-dev > > <swift-dev@swift.org> wrote: > > > >> On Mon, Dec 14, 2015, at 12:19 PM, Greg Parker via swift-dev wrote: > >> > >>> On Dec 14, 2015, at 9:47 AM, John McCall via swift-dev > >>> <swift-dev@swift.org> wrote: > >>> > >>>> On Dec 12, 2015, at 7:04 PM, Chris Lattner <clatt...@apple.com> wrote: > >>>> #3 sounds like a great approach to me. I agree with Kevin that if we > >>>> keep the object husk approach that any use of a weak pointer that > >>>> returns nil should drop any reference to a husk. > >>> > >>> Spin locks are, unfortunately, illegal on iOS, which does not guarantee > >>> progress in the face of priority inversion. > >> > >> There is a spinlock algorithm that does work (in practice if not in > >> theory), but it requires a full word of storage instead of a single bit. > > > > Is that what OSSpinLock uses? > > It does not. OSSpinLock is unsafe unless you can guarantee that all users > have the same priority.
Hmm, that's pretty unfortunate to hear. I've written code with spinlocks on iOS, and I imagine I'm not the only one. Does the system provide an implementation of this "safe in practice" spinlock that's visible to third-party devs? -Kevin Ballard _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev