コード例 #1
0
ファイル: Target.cs プロジェクト: rambo-long/lua-tilde
        private object BlockingInvoke(ReturnDelegate del)
        {
            // Fire off the asynchronous operation
            MessageQueue.BlockingMessage message = new MessageQueue.BlockingMessage(del);
            mMessageQueue.Push(message);
            mHostEvent.Set();

            // Wait for it to finish
            message.AsyncWaitHandle.WaitOne();

            // Return the result, or re-throw the exception
            if (message.Exception != null)
            {
                throw (message.Exception);
            }
            else
            {
                return(message.Result);
            }
        }
コード例 #2
0
ファイル: ThreadedHost.cs プロジェクト: rambo-long/lua-tilde
 private void Invoke(Delegate del)
 {
     mMessageQueue.Push(del, null);
     mEvent.Set();
 }