public void Dispose() { watchdogEvent.Dispose(); process.Kill(); process.Dispose(); process = null; pipe.Dispose(); mmva.Dispose(); mmf.Dispose(); rbuf.Dispose(); wbuf.Dispose(); foreach (var smb in DeallocatedMemoryBlocks.Values) { smb.Dispose(); } DeallocatedMemoryBlocks.Clear(); }
private void InitializeServicesAfterProcessStarts() { try { _ipcHandle.WaitOne(); _ipcHandle.Dispose(); _ipcHandle = null; CreateProtocolServiceClient(); _protocolService.Attach(); OnAttachComplete(EventArgs.Empty); } catch (Exception e) { if (e.IsCritical()) { throw; } } }