1
1
mirror of https://github.com/go-gitea/gitea synced 2024-11-14 06:04:25 +00:00
gitea/services/repository
zeripath 39a0db6ecf
Prevent dangling archiver goroutine (#19516) (#19526)
Backport #19516

Within doArchive there is a service goroutine that performs the
archiving function.  This goroutine reports its error using a `chan
error` called `done`. Prior to this PR this channel had 0 capacity
meaning that the goroutine would block until the `done` channel was
cleared - however there are a couple of ways in which this channel might
not be read.

The simplest solution is to add a single space of capacity to the
goroutine which will mean that the goroutine will always complete and
even if the `done` channel is not read it will be simply garbage
collected away.

(The PR also contains two other places when setting up the indexers
which do not leak but where the blocking of the sending goroutine is
also unnecessary and so we should just add a small amount of capacity
and let the sending goroutine complete as soon as it can.)

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: 6543 <6543@obermui.de>

Co-authored-by: 6543 <6543@obermui.de>
2022-04-27 16:05:52 +08:00
..
archiver Prevent dangling archiver goroutine (#19516) (#19526) 2022-04-27 16:05:52 +08:00
files Stop trimming preceding and suffixing spaces from editor filenames (#18334) 2022-01-19 21:03:15 +00:00
adopt_test.go services/repository: fix ListUnadoptedRepositories incorrect total count (#17865) 2022-01-01 10:52:00 +08:00
adopt.go Use IterateBufferSize whilst querying repositories during adoption check (#19140) (#19160) 2022-03-22 09:11:22 +08:00
avatar_test.go Some repository refactors (#17950) 2021-12-12 23:48:20 +08:00
avatar.go Some repository refactors (#17950) 2021-12-12 23:48:20 +08:00
branch.go Use full output of git show-ref --tags to get tags for PushUpdateAddTag (#19235) (#19236) 2022-03-29 23:19:57 +03:00
cache.go Move repository model into models/repo (#17933) 2021-12-10 09:27:50 +08:00
check.go Move repository model into models/repo (#17933) 2021-12-10 09:27:50 +08:00
fork_test.go Some repository refactors (#17950) 2021-12-12 23:48:20 +08:00
fork.go Fix forked repositories missed tags (#18719) (#18735) 2022-02-12 13:48:38 +00:00
hooks.go Some repository refactors (#17950) 2021-12-12 23:48:20 +08:00
main_test.go Decouple unit test code from business code (#17623) 2021-11-12 22:36:47 +08:00
push.go Fix compare link in active feeds for new branch (#19149) (#19185) 2022-03-23 19:04:50 +00:00
repository.go Move keys to models/asymkey (#17917) 2021-12-10 16:14:24 +08:00
template.go Some repository refactors (#17950) 2021-12-12 23:48:20 +08:00
transfer_test.go Move repository model into models/repo (#17933) 2021-12-10 09:27:50 +08:00
transfer.go Fix rename notification bug (#18008) 2021-12-17 14:24:47 +08:00