diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2001-10-26 17:15:17 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2001-10-26 17:15:17 +0000 |
commit | c9e1fd9567071050e673552088265963fbca9930 (patch) | |
tree | 9335dece9c800d5c72ed96f8a5afb475073365ab /Src/Modules/tcp.c | |
parent | 0635160db7005fb0df05d6ce4f190acb4becacbb (diff) | |
download | zsh-c9e1fd9567071050e673552088265963fbca9930.tar.gz zsh-c9e1fd9567071050e673552088265963fbca9930.tar.xz zsh-c9e1fd9567071050e673552088265963fbca9930.zip |
16176: Src/Modules/tcp.c, Src/Modules/zftp.c: after fdclose(),
TCP control fd is no longer valid, but we still need to remove the session cleanly.
Diffstat (limited to 'Src/Modules/tcp.c')
-rw-r--r-- | Src/Modules/tcp.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/Src/Modules/tcp.c b/Src/Modules/tcp.c index 1fe813e3f..9109ca7c1 100644 --- a/Src/Modules/tcp.c +++ b/Src/Modules/tcp.c @@ -291,19 +291,21 @@ tcp_close(Tcp_session sess) { int err; - if (sess && sess->fd != -1) + if (sess) { - err = close(sess->fd); - if (err) + if (sess->fd != -1) { - zwarn("connection close failed: %e", NULL, errno); - return -1; + err = close(sess->fd); + if (err) + { + zwarn("connection close failed: %e", NULL, errno); + return -1; + } } zts_delete(sess); return 0; } - zts_delete(sess); return -1; } |