Skip to content

Commit 204d00c

Browse files
committed
Raise Closed event before invocing Close() to make sure we do not raise this event after we finished disposing.
1 parent 80ae79c commit 204d00c

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/Renci.SshNet/Channels/Channel.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -400,18 +400,20 @@ protected virtual void OnClose()
400400
{
401401
_closeMessageReceived = true;
402402

403+
// raise event signaling that the server has closed its end of the channel
404+
var closed = Closed;
405+
if (closed != null)
406+
{
407+
closed(this, new ChannelEventArgs(LocalChannelNumber));
408+
}
409+
403410
// signal that SSH_MSG_CHANNEL_CLOSE message was received from server
404411
var channelClosedWaitHandle = _channelClosedWaitHandle;
405412
if (channelClosedWaitHandle != null)
406413
channelClosedWaitHandle.Set();
407414

408415
// close the channel
409416
Close();
410-
411-
// raise event signaling that the server has closed the channel
412-
var closed = Closed;
413-
if (closed != null)
414-
closed(this, new ChannelEventArgs(LocalChannelNumber));
415417
}
416418

417419
/// <summary>

0 commit comments

Comments
 (0)