From 52a0bd88dc13c614cb66bca13b9121e5090d15b5 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 11 Jul 2021 12:36:32 +0300 Subject: [PATCH] Really close fd at upload completion --- doc/news.ru.texi | 11 +++++++++++ doc/news.texi | 10 ++++++++++ src/nncp.go | 2 +- src/sp.go | 15 +++++++++------ 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 97f46e0..cb70cd8 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -2,6 +2,7 @@ @section Новости @menu +* Релиз 7.3.1:: * Релиз 7.3.0:: * Релиз 7.2.1:: * Релиз 7.2.0:: @@ -53,6 +54,16 @@ * Релиз 0.2:: @end menu +@node Релиз 7.3.1 +@subsection Релиз 7.3.1 +@itemize + +@item +Исправлена проблема с возможно остающимся открытым файловым +дескриптором в online командах. + +@end itemize + @node Релиз 7.3.0 @subsection Релиз 7.3.0 @itemize diff --git a/doc/news.texi b/doc/news.texi index 20ff3d6..3be4652 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -4,6 +4,7 @@ See also this page @ref{Новости, on russian}. @menu +* Release 7.3.1: Release 7_3_1. * Release 7.3.0: Release 7_3_0. * Release 7.2.1: Release 7_2_1. * Release 7.2.0: Release 7_2_0. @@ -55,6 +56,15 @@ See also this page @ref{Новости, on russian}. * Release 0.2: Release 0_2. @end menu +@node Release 7_3_1 +@section Release 7.3.1 +@itemize + +@item +Fixed possibly left opened file descriptor in online commands. + +@end itemize + @node Release 7_3_0 @section Release 7.3.0 @itemize diff --git a/src/nncp.go b/src/nncp.go index 3bfcb3a..67c0ae9 100644 --- a/src/nncp.go +++ b/src/nncp.go @@ -40,7 +40,7 @@ along with this program. If not, see .` const Base32Encoded32Len = 52 var ( - Version string = "7.3.0" + Version string = "7.3.1" Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding) ) diff --git a/src/sp.go b/src/sp.go index 5937d35..58b9bb2 100644 --- a/src/sp.go +++ b/src/sp.go @@ -952,22 +952,25 @@ func (state *SPState) StartWorkers( state.progressBars[pktName] = struct{}{} Progress("Tx", lesp) } + if ourSize == uint64(fullSize) { + state.closeFd(pth) + state.Ctx.LogD("sp-file-finished", lesp, func(les LEs) string { + return logMsg(les) + ": finished" + }) + if state.Ctx.ShowPrgrs { + delete(state.progressBars, pktName) + } + } state.Lock() for i, q := range state.queueTheir { if *q.freq.Hash != *freq.Hash { continue } if ourSize == uint64(fullSize) { - state.Ctx.LogD("sp-file-finished", lesp, func(les LEs) string { - return logMsg(les) + ": finished" - }) state.queueTheir = append( state.queueTheir[:i], state.queueTheir[i+1:]..., ) - if state.Ctx.ShowPrgrs { - delete(state.progressBars, pktName) - } } else { q.freq.Offset = ourSize } -- 2.44.0