scripts
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
|
||||
namespace System.Runtime.Remoting.Contexts
|
||||
{
|
||||
// Token: 0x020003CB RID: 971
|
||||
internal class SynchronizedClientContextSink : IMessageSink
|
||||
{
|
||||
// Token: 0x06002646 RID: 9798 RVA: 0x0007E3E0 File Offset: 0x0007C5E0
|
||||
public SynchronizedClientContextSink(IMessageSink next, SynchronizationAttribute att)
|
||||
{
|
||||
this._att = att;
|
||||
this._next = next;
|
||||
}
|
||||
|
||||
// Token: 0x17000727 RID: 1831
|
||||
// (get) Token: 0x06002647 RID: 9799 RVA: 0x0007E3F8 File Offset: 0x0007C5F8
|
||||
public IMessageSink NextSink
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._next;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06002648 RID: 9800 RVA: 0x0007E400 File Offset: 0x0007C600
|
||||
public IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink)
|
||||
{
|
||||
if (this._att.IsReEntrant)
|
||||
{
|
||||
this._att.ReleaseLock();
|
||||
replySink = new SynchronizedContextReplySink(replySink, this._att, true);
|
||||
}
|
||||
return this._next.AsyncProcessMessage(msg, replySink);
|
||||
}
|
||||
|
||||
// Token: 0x06002649 RID: 9801 RVA: 0x0007E444 File Offset: 0x0007C644
|
||||
public IMessage SyncProcessMessage(IMessage msg)
|
||||
{
|
||||
if (this._att.IsReEntrant)
|
||||
{
|
||||
this._att.ReleaseLock();
|
||||
}
|
||||
IMessage message;
|
||||
try
|
||||
{
|
||||
message = this._next.SyncProcessMessage(msg);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (this._att.IsReEntrant)
|
||||
{
|
||||
this._att.AcquireLock();
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
// Token: 0x04000EEC RID: 3820
|
||||
private IMessageSink _next;
|
||||
|
||||
// Token: 0x04000EED RID: 3821
|
||||
private SynchronizationAttribute _att;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user