multithread strange lockups in 10.3.9 and not tiger
multithread strange lockups in 10.3.9 and not tiger
- Subject: multithread strange lockups in 10.3.9 and not tiger
- From: Nicolas Berloquin <email@hidden>
- Date: Wed, 16 Nov 2005 09:39:40 +0100
Hello !
My app is multithreaded and uses @synchronized() extensively.
It seems to be deadlock-free on tiger (10.4.3), but some of my testers
report really strange lockups in 10.3.9.
I've looked at one of their samples taken during lockup and one
thread is
locked-up in a synchronized() called on one object, while the second
thread
is locked up in another object which *cannot* be both lockedup at the
same
time !
I don't know if I'm very clear, but since i don't use NSLocks, I'm
sure that
all locks are unlocked eventually, even if exceptions occur.
The first lock blocks on something that isn't used as a lock at all
in the second
thread, and vice-versa.
I've read in the archives that some versions of the system behaved
strangely
when doing multiple synchronized() calls, ie :
@synchronized(obj1) {
@synchronized(obj2) {
}
}
Could that be the pitfall in 10.3.9 ?
Any suggestion as to how I could handle that ? (besides restricting
the app to tiger :D)
thanks !
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden