Thanks for the advice, I had actually tried that as well to no avail.

After playing around a bit, I'm fairly certain I've solved it, although I'm not really sure why it was a problem. At the top of the worker method, I was locking the NSManagedObjectContext and unlocking it just before return, but all the NSManagedObject stuff should be happening on a separate thread. I'll try to track that down in a minute, but it appears that was blocking the main thread. I suppose I should have asked Instruments before asking you all.

Thanks for your help!
Ben

On May 28, 2009, at 1:03 PM, Corbin Dunn wrote:


On May 28, 2009, at 9:46 AM, Ben Einstein wrote:


On May 28, 2009, at 12:36 PM, Jeff Johnson wrote:

Three general possibilities:

(1) aControllerObject is nil.

Definitely not the problem because it works when calling performSelector: without the mainThread part.

(2) The main run loop is not running for some reason.

The main run loop is waiting to hear back from the completion of the worker thread, so this isn't the problem.

(3) The main run loop is not running in one of NSRunLoopCommonModes.

I would guess this is the most likely option as well, but NSRunLoop says mainRunLoop is kCFRunLoopDefaultMode, which is correct, right?

For kicks, toss in modes:[NSArray arrayWithObject:NSRunLoopCommonModes]]

And/or give us a bt of your main thread when the message fails. Chances are, it hasn't failed, it just hasn't processed it yet.

corbin


_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to