go-ethereum/les
Felix Lange e20158176d les: fix goroutine leak in execQueue (#14480)
execQueue used an atomic counter to track whether the queue had been
closed, but the checking the counter didn't happen because the queue was
blocked on its channel.

Fix it by using a condition variable instead of sync/atomic. I tried an
implementation based on channels first, but it was hard to make it
reliable.

quit now waits for the queue loop to exit.
2017-05-16 20:56:02 +02:00
..
flowcontrol les: implement request distributor, fix blocking issues (#3660) 2017-03-22 20:44:22 +01:00
api_backend.go consensus, core, ethstats: use engine specific block beneficiary (#14318) 2017-04-12 16:38:31 +03:00
backend.go cmd, eth, les, mobile: make networkid uint64 everywhere 2017-04-25 14:53:50 +03:00
distributor_test.go all: update license information 2017-04-14 10:29:00 +02:00
distributor.go all: update license information 2017-04-14 10:29:00 +02:00
execqueue_test.go les: fix goroutine leak in execQueue (#14480) 2017-05-16 20:56:02 +02:00
execqueue.go les: fix goroutine leak in execQueue (#14480) 2017-05-16 20:56:02 +02:00
fetcher.go consensus, core: drop all the legacy custom core error types 2017-04-06 17:34:19 +03:00
handler_test.go all: gofmt -w -s 2017-01-06 15:52:03 +01:00
handler.go cmd, eth, les, mobile: make networkid uint64 everywhere 2017-04-25 14:53:50 +03:00
helper_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
metrics.go all: fix spelling errors 2017-01-06 19:44:35 +02:00
odr_requests.go les: implement request distributor, fix blocking issues (#3660) 2017-03-22 20:44:22 +01:00
odr_test.go consensus, core, ethstats: use engine specific block beneficiary (#14318) 2017-04-12 16:38:31 +03:00
odr.go all: import "context" instead of "golang.org/x/net/context" 2017-03-22 20:49:15 +01:00
peer.go cmd, eth, les, mobile: make networkid uint64 everywhere 2017-04-25 14:53:50 +03:00
protocol.go all: update license information 2016-11-09 02:51:34 +01:00
randselect_test.go all: gofmt -w -s 2017-01-06 15:52:03 +01:00
randselect.go les: implement light server pool 2016-12-08 13:38:15 +01:00
request_test.go all: import "context" instead of "golang.org/x/net/context" 2017-03-22 20:49:15 +01:00
server.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
serverpool.go les: implement request distributor, fix blocking issues (#3660) 2017-03-22 20:44:22 +01:00
sync.go all: import "context" instead of "golang.org/x/net/context" 2017-03-22 20:49:15 +01:00
txrelay.go les: implement request distributor, fix blocking issues (#3660) 2017-03-22 20:44:22 +01:00