public override void Close() { base.Close(); if (Handle != IntPtr.Zero) { PauseReading(); PauseWriting(); readWatcher.Dispose(); writeWatcher.Dispose(); if (readTimeoutWatcher != null) { readTimeoutWatcher.Dispose(); } if (writeTimeoutWatcher != null) { writeTimeoutWatcher.Dispose(); } readWatcher = null; writeWatcher = null; readTimeoutWatcher = null; writeTimeoutWatcher = null; Handle = IntPtr.Zero; } }
public virtual void Close() { if (handle == IntPtr.Zero) { return; } DisableReading(); DisableWriting(); read_watcher.Dispose(); write_watcher.Dispose(); timeout_watcher.Dispose(); handle = IntPtr.Zero; foreach (IWriteOperation op in write_ops) { op.Dispose(); } if (Closed != null) { Closed(this, EventArgs.Empty); } }
public virtual void Close() { if (handle == IntPtr.Zero) { return; } DisableReading(); DisableWriting(); read_watcher.Dispose(); write_watcher.Dispose(); timeout_watcher.Dispose(); read_watcher = null; write_watcher = null; timeout_watcher = null; handle = IntPtr.Zero; foreach (IWriteOperation op in write_ops) { op.Dispose(); } write_ops.Clear(); if (Closed != null) { Closed(this, EventArgs.Empty); } Closed = null; read_callback = null; GC.SuppressFinalize(this); }
protected override void Dispose(bool disposing) { if (Handle != IntPtr.Zero) { PauseReading(); PauseWriting(); readWatcher.Dispose(); writeWatcher.Dispose(); if (readTimeoutWatcher != null) { readTimeoutWatcher.Dispose(); } if (writeTimeoutWatcher != null) { writeTimeoutWatcher.Dispose(); } readWatcher = null; writeWatcher = null; readTimeoutWatcher = null; writeTimeoutWatcher = null; Handle = IntPtr.Zero; } base.Dispose(disposing); }
private void HandleTimeout(Loop loop, TimerWatcher timeout, EventTypes revents) { Timeout t = (Timeout)timeout.UserData; AppHost.RunTimeout(t); if (!t.ShouldContinueToRepeat()) { timeout.Stop(); timeout.Dispose(); } }