Example #1
0
 public IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink)
 {
     if (_att.IsReEntrant)
     {
         _att.ReleaseLock();                     // Unlock when leaving the context
         replySink = new SynchronizedContextReplySink(replySink, _att, true);
     }
     return(_next.AsyncProcessMessage(msg, replySink));
 }
Example #2
0
 public IMessage SyncProcessMessage(IMessage msg)
 {
     _att.AcquireLock();
     try
     {
         return(_next.SyncProcessMessage(msg));
     }
     finally
     {
         _att.ReleaseLock();
     }
 }