Co-authored-by: mustard <mhqnwt@gmail.com>
Co-authored-by: Anton Kosyakov <anton@gitpod.io>
Co-authored-by: Jean Pierre <jeanp413@hotmail.com>
Co-authored-by: iQQBot <tianshi8650@gmail.com>
There was some kind of deadlock while one listener was trying to read a config changes.
I rewrote gitpod config service to use conditional variable to announce changes in gitpod config to avoid synchronization over map of listeners.
I changed clients as well that they don't consider nil config as closed channel and stop reading.