I'm wondering about the timing of NSOperationQueue emptying. In my Objective-C++ (Leopard) app, I have one opQueue of operations and the very last thing each operation does is enqueue the results of a computation back to the main thread.
NSPointerArray *ptr = [NSPointerArray pointerArrayWithStrongObjects]; [ptr addPointer:&PL]; [mainQueue enqueueNotification:[NSNotification notificationWithName:@"compNotif" object:ptr] postingStyle:NSPostNow]; } // end of main() I use NSPostNow instead of NSPostWhenIdle because the latter never posts! (reason unknown) Also, I have garbage collection *required* and do not have any retain/release statements anywhere. PL, the output data, is a local std::list [C++ default Ctors/Dtors is checked.] and the main thread collects these in a list of lists until all have been collected at which point all NSOperations *should* be finished. They aren't -- even though I use a separate countdown int as the sentinel. Each time through the whole process, one operation (not always the same one) remains in the opQueue, and isFinishd == NO, at the point when the opQueue is due to be filled up again. [It is almost always one of the last operations pushed onto the opQueue.] If I then waitUntilAllOperationsAreFinished, the program hangs forever. Apparently, this last operation never finishes although the other 1300 operations do and they are all the same apart from input data. Question: In Leopard, does an NSOperationQueue send a signal of its own when an operation is terminating, something analogous to applicationDidFinishLaunching? Could garbage collection be postponing the queue clearing? I could not find any function that would force clearing the opQueue. Is there one? BTW, I cannot use Snow Leopard for this, at least at work, because I have only a G5. -- Mike McLaughlin _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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 arch...@mail-archive.com