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)); }
public IMessage SyncProcessMessage(IMessage msg) { _att.AcquireLock(); try { return(_next.SyncProcessMessage(msg)); } finally { _att.ReleaseLock(); } }