>I seem to remember an article in macTech from way back >dealing with 'unexpected' behavior occuring with >YieldToAnyThread' and explaining the workaround. Hello, I searched the MacTech CD 13 and found the following: === Volume 10; issue 11; 'Thread Manager for Macintosh Applications' Code sample #38: Note: The SetThreadState, SetThreadStateEndCritical and YieldToThread routines are usable during preemptive execution only when suggestedThread parameter is either kNoThreadID or is another preemptive thread. Explicitly requesting a cooperative thread to run from a preemptive thread is dangerous and should be avoided. === Volume 12; issue 4; 'Threading Apple events' 'The fundamental problem is that AEProcessAppleEvent is non-reentrant. So if you call it, you can't call it again until the event finishes processing.' This article then describes how to thread Apple events correctly using the ThreadManager. === Volume 13; issue 1; 'How to use preemptive thread and how well' === Volume 13; issue 7; 'Mixed Up Threads' === Hope you find something useful there. chris -- +------------------------------------+ | http://members.xoom.com/chatworks/ | +------------------------------------+