On 27 Feb 2009, at 11:15, David Chisnall wrote:
The behavior on MacOS when I tested it was strange and inconsistent ... sometime the loop returned immediately as documented, sometimes it blocked. My suspicion is that MacOS-X has an undocumented feature of sometimes putting input sources in the run loop

This is not undocumented.  The NSRunloop documentation clearly states:

Manually removing all known input sources and timers from the run loop is not a guarantee that the run loop will exit. Mac OS X can install and remove additional input sources as needed to process requests targeted at the receiver’s thread.

I meant undocumented in the sense that it does not specify the conditions under which it can occur.

For instance, I had a test program which did *nothing* other than create an autorelease pool and run the runloop in the main thread ... but it still blocked. Doing the same thing in a second thread, the loop terminated immediately. Perhaps the main runloop will always block in practice under OSX, but I would not rely on it.

_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to