forked from mirror/gitea
c58bc4bf80
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 | ||
helper.go | ||
manager.go | ||
queue_bytefifo.go | ||
queue_channel_test.go | ||
queue_channel.go | ||
queue_disk_channel_test.go | ||
queue_disk_channel.go | ||
queue_disk_test.go | ||
queue_disk.go | ||
queue_redis.go | ||
queue_test.go | ||
queue_wrapped.go | ||
queue.go | ||
setting.go | ||
unique_queue_channel.go | ||
unique_queue_disk_channel.go | ||
unique_queue_disk.go | ||
unique_queue_redis.go | ||
unique_queue_wrapped.go | ||
unique_queue.go | ||
workerpool.go |