1
0
Fork 0
forgejo/modules
zeripath 41fcf7b7de
Prevent dangling archiver goroutine (#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>
2022-04-26 19:22:26 -04:00
..
activitypub
analyze
appstate Use a struct as test options (#19393) 2022-04-14 21:58:21 +08:00
auth
avatar
base Update JS dependencies (#19281) 2022-04-01 02:15:46 +02:00
cache Remove legacy unknwon/com package (#19298) 2022-04-02 00:34:57 +08:00
charset
container
context Use router param for filepath in GetRawFile (#19499) 2022-04-26 12:15:45 -05:00
convert Set correct PR status on 3way on conflict checking (#19457) 2022-04-21 22:55:45 +01:00
csv
doctor [doctor] authorized-keys: fix displayed check name (#19464) 2022-04-24 20:06:33 +02:00
emoji
eventsource Improve Stopwatch behavior (#18930) 2022-04-25 22:45:22 +02:00
generate
git Pass gitRepo down to GetRawDiff, since its used for main repo and wiki (#19461) 2022-04-25 20:45:18 +02:00
gitgraph Remove git.Command.Run and git.Command.RunInDir* (#19280) 2022-04-01 10:55:30 +08:00
graceful Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
hcaptcha
highlight
hostmatcher
httpcache
httplib
indexer Prevent dangling archiver goroutine (#19516) 2022-04-26 19:22:26 -04:00
json Refactor legacy unknwon/com package, improve golangci lint (#19284) 2022-04-01 16:47:50 +08:00
lfs
log Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
markup Remove legacy unmaintained packages, refactor to support change default locale (#19308) 2022-04-03 17:46:48 +08:00
metrics
migration
nosql Remove legacy unknwon/com package (#19298) 2022-04-02 00:34:57 +08:00
notification Use a struct as test options (#19393) 2022-04-14 21:58:21 +08:00
options
packages Add Helm Chart registry (#19406) 2022-04-19 12:55:35 -04:00
paginator Remove legacy unmaintained packages, refactor to support change default locale (#19308) 2022-04-03 17:46:48 +08:00
password
pprof
private Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
process Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
proxy
public
queue Prevent intermittent NPE in queue tests (#19301) 2022-04-02 15:59:04 +08:00
recaptcha
references
repository Use a struct as test options (#19393) 2022-04-14 21:58:21 +08:00
secret
session
setting Fixed registry host value. (#19363) 2022-04-10 19:57:36 +08:00
ssh Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
storage
structs When updating mirror repo intervals by API reschedule next update too (#19429) 2022-04-20 09:20:53 +01:00
svg
sync Use queue instead of memory queue in webhook send service (#19390) 2022-04-25 20:03:01 +02:00
templates Refactor legacy unknwon/com package, improve golangci lint (#19284) 2022-04-01 16:47:50 +08:00
test
timeutil Remove legacy unmaintained packages, refactor to support change default locale (#19308) 2022-04-03 17:46:48 +08:00
translation Remove legacy unmaintained packages, refactor to support change default locale (#19308) 2022-04-03 17:46:48 +08:00
typesniffer
updatechecker
upload
uri
user
util Remove legacy unknwon/com package (#19298) 2022-04-02 00:34:57 +08:00
validation use IsLoopback (#19477) 2022-04-25 13:55:12 +08:00
web Refactor CSRF protection modules, make sure CSRF tokens can be up-to-date. (#19337) 2022-04-08 13:21:05 +08:00