diff options
Diffstat (limited to 'Src/Modules')
-rw-r--r-- | Src/Modules/tcp.c | 12 | ||||
-rw-r--r-- | Src/Modules/zftp.c | 3 |
2 files changed, 11 insertions, 4 deletions
diff --git a/Src/Modules/tcp.c b/Src/Modules/tcp.c index 744343d67..44a380170 100644 --- a/Src/Modules/tcp.c +++ b/Src/Modules/tcp.c @@ -230,8 +230,8 @@ freehostent(struct hostent *ptr) mod_export int tcp_socket(int domain, int type, int protocol, Tcp_session sess) { - sess->fd = socket(domain, type, protocol); - return sess->fd; + sess->fd = socket(domain, type, protocol); + return sess->fd; } static void @@ -239,6 +239,14 @@ tcp_cleanup(void) { } +/**/ +mod_export int +tcp_close(Tcp_session sess) +{ + close(sess->fd); + sess->fd = -1; +} + /* The load/unload routines required by the zsh library interface */ /**/ diff --git a/Src/Modules/zftp.c b/Src/Modules/zftp.c index 66bf1e662..5120c6c64 100644 --- a/Src/Modules/zftp.c +++ b/Src/Modules/zftp.c @@ -2683,8 +2683,7 @@ zfclose(int leaveparams) } if (zfsess->control.fd != -1) { zfnopen--; - close(zfsess->control.fd); - zfsess->control.fd = -1; + tcp_close(&(zfsess->control)); } if (zfstatfd != -1) { |