Looking in the GNUstep source, I see that there's an implementation of
the two required functions. From a cursory look at the code it seems
to be O(n) in terms of the total number of objects you use as locks
over the program lifetime, and to leak the locks after the lock object
is deallocated.
I've added a more efficient version to my work-in-progress
implementation of the ObjC 2 runtime APIs on top of the GNU runtime:
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Languages/RuntimeAbstraction/sync.m?rev=4591&view=auto
This is now in the state where you can #include its runtime.h in
GNUstep programs /after/ the Foundation.h include without things
breaking. It still needs a lot more thorough testing before I would
recommend using it regularly, however. I plan on modifying the bits
of Étoilé that invoke runtime library functions to use it and, once
it's been more thoroughly tested, push it upstream to the GNU runtime.
David
On 12 May 2009, at 06:46, David Ayers wrote:
Am Freitag, den 08.05.2009, 14:04 +0100 schrieb David Chisnall:
Is anyone using @synchronized with GNUstep? If
so, where do you get your implementations of the two functions which
acquire and release a mutex identified by a given object?
Not with the GNU runtime AFAIK...
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23680
Cheers,
David
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev