agola/internal
Simone Gotti 85876310af readdb: fix deadlock in Run method
In runservice readdb Run method we could end with a deadlock if two of the
goroutines that call HandleEvents.* try to write to the errCh at the same
time before the errCh is read. If this happens one of the two will be blocked on
writing to the channel but the read won't happen since it'll blocked by
wg.Wait().

Fix this doing:
* use a buffered channel large as the number of executed goroutines.
* create a new errCh at every loop (so we'll ignore later errors after the first
one)

Note: we could also use a non blocking send to avoid this situation but we
should also start the wg.Wait before the goroutines or earlier errors could be
lost causing another kind of hang.
2019-07-23 14:56:26 +02:00
..
common *: use vanity url 2019-07-01 11:40:20 +02:00
config internal: fix linter errors 2019-07-02 16:20:53 +02:00
datamanager datamanager: save previous wal in waldata 2019-07-18 16:44:28 +02:00
db internal: fix linter errors 2019-07-02 16:20:53 +02:00
etcd etcd: add DeletePrefix method 2019-07-18 16:40:28 +02:00
git-handler internal: fix linter errors 2019-07-02 16:20:53 +02:00
git-save *: use vanity url 2019-07-01 11:40:20 +02:00
gitsources github: fix retrieving commit sha for signed tags 2019-07-08 17:21:24 +02:00
log Add common logging helper 2019-02-21 16:05:35 +01:00
objectstorage internal: fix linter errors 2019-07-02 16:20:53 +02:00
runconfig *: use vanity url 2019-07-01 11:40:20 +02:00
sequence *: use vanity url 2019-07-01 11:40:20 +02:00
services readdb: fix deadlock in Run method 2019-07-23 14:56:26 +02:00
testutil internal: fix linter errors 2019-07-02 16:20:53 +02:00
toolbox internal: fix linter errors 2019-07-02 16:20:53 +02:00
util internal: fix linter errors 2019-07-02 16:20:53 +02:00
tools.go Add makefile 2019-02-21 15:59:16 +01:00