protected virtual void Dispose(bool disposing) { if (isDisposed || !disposing) { return; } globalChannelMemoryRegionView?.Dispose(); sharedChannelMemoryMapView?.Dispose(); isDisposed = true; }
/// <summary> /// Uninitialize shared channel. /// </summary> public static void UninitializeSharedChannel() { // Signal named event to close any waiter threads. // controlChannelNamedEvent.Signal(); feedbackChannelNamedEvent.Signal(); // Close shared memory. // controlChannelMemoryMapView.Dispose(); feedbackChannelMemoryMapView.Dispose(); sharedConfigMemoryMapView.Dispose(); KeepRunning = false; }