gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSSound Code Review


From: David Chisnall
Subject: Re: NSSound Code Review
Date: Tue, 11 Aug 2009 17:17:08 +0100

The latest code review is here:

http://review.etoileos.com/r/117/

There are still a few issues which I think could lead to either race conditions or resource starvation, but I'm happy for it to go in as-is for now and be worked on (and, most importantly, tested!) before the next release.

David

On 11 Aug 2009, at 17:05, Gregory Casamento wrote:

Guys,

I'm wondering if we've reached a consensus on this, I don't want this
code (or the NSLock code, for that matter) to fall by the way side.

Would there be any objections to putting this code into the repository
and seeing where it goes from there?

Thanks, GC

On Mon, Aug 3, 2009 at 11:43 AM, SPUeNTRUP - Kai
Henningsen<address@hidden> wrote:
Hallo David,

Am Thu, 30 Jul 2009 15:12:05 +0100
schrieb David Chisnall <address@hidden>:

I didn't propose optimisations here.  When I rewrote the NSLock
classes to use pthreads, I halved the amount of code and added an
implementation of NSCondition.  To me, less code which does more is
more maintainable.

The fact that, because it isn't using the buggy and largely-
unmaintained abstraction layer in libobjc is an added bonus. The code
in libobjc uses recursive mutexes.  It does not create or destroy
threads, and it does not use condition variables. This means that the
functions for doing any of these things in libobjc are not tested by
libobjc and in some cases are just stub implementations which always
return NULL.  Depending on these, rather than well-tested pthread
implementations does not make sense.

This reminds me that I have a patch somewhere which fixes this problem.
(Essentially, by copying from ... well I forget, but I'm sure I can
find out ... a variant of this particular threading package that *does*
implement the missing routines, anyway).

Now, I don't know how well-tested this currently is, but I'm pretty
certain that modern gcc relies on these routines for both Java and OMP (both of which I recall having problems on Windows which might well be related), not only for libobjc, so there is certainly hope that bugs in
there will actually be found.

I need to find some round tuits and submit that patch ...

Mit freundlichen Grüßen aus Münster /
with kind regards - Kai Henningsen

--
SPUeNTRUP Software
Windbreede 12
D-48157 Münster, Germany

Reg:    Münster Nr.29047

Fon:    +49 700 CALL CATS (=22552287)
Fon:    +49 251 322 311 0
Fax:    +49 251 322 311 99
GSM:    +49 171 7700992

Web:    http://www.cats.ms
Mail:   address@hidden


_______________________________________________
Gnustep-dev mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnustep-dev




--
Gregory Casamento
Open Logic Corporation, Principal Consultant
## GNUstep Chief Maintainer
yahoo/skype: greg_casamento, aol: gjcasa
(240)274-9630 (Cell), (301)362-9640 (Home)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]