Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proposal: add a domain concept to make plugins unloadable. #21893

Closed
zigo101 opened this issue Sep 14, 2017 · 3 comments
Closed

proposal: add a domain concept to make plugins unloadable. #21893

zigo101 opened this issue Sep 14, 2017 · 3 comments

Comments

@zigo101
Copy link

zigo101 commented Sep 14, 2017

Now loaded plugins can't be unloaded. This prevents plugins being used for many situations.

Maybe load a plugin in a separated domain and destroy the domain later can solve this problem.

@gopherbot gopherbot added this to the Proposal milestone Sep 14, 2017
@crawshaw
Copy link
Member

What is a domain?

There are a lot of problems with unloading plugins that have been discussed on other issues. Any proposal to add plugin unloading needs to address them.

An example: if I create a value of a type T that comes from a plugin, then put that value into an interface{} variable, then unload the plugin the type came from, what happens? How does the runtime implement it?

Another example: If a plugin starts a goroutine, what happens to it on unload?

Without a concrete description of the proposal, this is a feature request and not a proposal. I'm going to close it as such. If you would like to turn this into a concrete proposal addressing both the semantics of plugin unloading and how to implement it, comment and I'll reopen this.

@crawshaw
Copy link
Member

In its current form, this is a duplicate of #20461.

@golang golang locked and limited conversation to collaborators Sep 15, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants