2588b3bc98
This fixes few cases where driver eventor goroutines are leaked during normal operations, but especially so in tests. This change makes few modifications: First, it switches drivers to use `Context`s to manage shutdown events. Previously, it relied on callers invoking `.Shutdown()` function that is specific to internal drivers only and require casting. Using `Contexts` provide a consistent idiomatic way to manage lifecycle for both internal and external drivers. Also, I discovered few places where we don't clean up a temporary driver instance in the plugin catalog code, where we dispense a driver to inspect and validate the schema config without properly cleaning it up. |
||
---|---|---|
.. | ||
api_versions.go | ||
filter_unix.go | ||
filter_windows.go | ||
init.go | ||
instance.go | ||
loader.go | ||
loader_test.go | ||
plugin_test.go | ||
testing.go | ||
util.go |