gitea/modules/queue
zeripath c58bc4bf80
Prevent timer leaks in Workerpool and others ()
There is a potential memory leak in `Workerpool` due to the intricacies of
`time.Timer` stopping.

Whenever a `time.Timer` is `Stop`ped its channel must be cleared using a
`select` if the result of the `Stop()` is `false`.

Unfortunately in `Workerpool` these were checked the wrong way round.

However, there were a few other places that were not being checked.

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

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
..
bytefifo.go Add Unique Queue infrastructure and move TestPullRequests to this ()
helper.go Queue: Make WorkerPools and Queues flushable ()
manager.go Fix broken FlushAll ()
queue.go Add Unique Queue infrastructure and move TestPullRequests to this ()
queue_bytefifo.go Add Unique Queue infrastructure and move TestPullRequests to this ()
queue_channel.go Add Unique Queue infrastructure and move TestPullRequests to this ()
queue_channel_test.go Fix Workerpool deadlock ()
queue_disk.go Add Unique Queue infrastructure and move TestPullRequests to this ()
queue_disk_channel.go Add Unique Queue infrastructure and move TestPullRequests to this ()
queue_disk_channel_test.go Graceful Queues: Issue Indexing and Tasks ()
queue_disk_test.go Add Unique Queue infrastructure and move TestPullRequests to this ()
queue_redis.go Fix queue pop error and stat empty repository error ()
queue_test.go Graceful Queues: Issue Indexing and Tasks ()
queue_wrapped.go Prevent timer leaks in Workerpool and others ()
setting.go Add Unique Queue infrastructure and move TestPullRequests to this ()
unique_queue.go Add Unique Queue infrastructure and move TestPullRequests to this ()
unique_queue_channel.go Add Unique Queue infrastructure and move TestPullRequests to this ()
unique_queue_disk.go Add Unique Queue infrastructure and move TestPullRequests to this ()
unique_queue_disk_channel.go Add Unique Queue infrastructure and move TestPullRequests to this ()
unique_queue_redis.go Fix queue pop error and stat empty repository error ()
unique_queue_wrapped.go Add Unique Queue infrastructure and move TestPullRequests to this ()
workerpool.go Prevent timer leaks in Workerpool and others ()