forgejo/modules
zeripath 0dcc74a8a7
Prevent dangling cat-file calls (goroutine alternative) (#19454)
If an `os/exec.Command` is passed non `*os.File` as an input/output, go
will create `os.Pipe`s and wait for their closure in `cmd.Wait()`.  If
the code following this is responsible for closing `io.Pipe`s or other
handlers then on process death from context cancellation the `Wait` can
hang.

There are two possible solutions:

1. use `os.Pipe` as the input/output as `cmd.Wait` does not wait for these.
2. create a goroutine waiting on the context cancellation that will close the inputs.

This PR provides the second option - which is a simpler change that can
be more easily backported.

Closes #19448

Signed-off-by: Andrew Thornton <art27@cantab.net>
2022-04-22 17:20:04 +02:00
..
activitypub
analyze
appstate Use a struct as test options (#19393) 2022-04-14 21:58:21 +08:00
auth RSS/Atom support for Repos (#19055) 2022-03-13 17:40:47 +01:00
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 Move reaction to models/issues/ (#19264) 2022-03-31 17:20:39 +08:00
context RepoAssignment ensure to close before overwrite (#19449) 2022-04-21 17:17:57 +02:00
convert Set correct PR status on 3way on conflict checking (#19457) 2022-04-21 22:55:45 +01:00
csv
doctor Remove git.Command.Run and git.Command.RunInDir* (#19280) 2022-04-01 10:55:30 +08:00
emoji
eventsource Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
generate
git Prevent dangling cat-file calls (goroutine alternative) (#19454) 2022-04-22 17:20:04 +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 remove not needed (#19128) 2022-03-18 20:17:57 +01:00
httpcache
httplib
indexer Use a struct as test options (#19393) 2022-04-14 21:58:21 +08:00
json Refactor legacy unknwon/com package, improve golangci lint (#19284) 2022-04-01 16:47:50 +08:00
lfs Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
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 Store the foreign ID of issues during migration (#18446) 2022-03-17 18:08:35 +01:00
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 Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
structs When updating mirror repo intervals by API reschedule next update too (#19429) 2022-04-20 09:20:53 +01:00
svg
sync Remove legacy unknwon/com package (#19298) 2022-04-02 00:34:57 +08:00
templates Refactor legacy unknwon/com package, improve golangci lint (#19284) 2022-04-01 16:47:50 +08:00
test Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
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
web Refactor CSRF protection modules, make sure CSRF tokens can be up-to-date. (#19337) 2022-04-08 13:21:05 +08:00