private void OnDispose(RuntimeCore sender) { if (mSessions == null) { return; } FFIExecutionSession session = null; lock (mSessions) { if (mSessions.TryGetValue(sender, out session)) { mSessions.Remove(sender); session.Dispose(); sender.Dispose -= OnDispose; sender.ExecutionEvent -= OnExecutionEvent; } mSelf = null; } }
private void OnDispose(RuntimeCore sender) { if (mSessions == null) return; FFIExecutionSession session = null; lock (mSessions) { if (mSessions.TryGetValue(sender, out session)) { mSessions.Remove(sender); session.Dispose(); sender.Dispose -= OnDispose; sender.ExecutionEvent -= OnExecutionEvent; } mSelf = null; } }