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

allows plugins to process other plugin when loaded dynamically #127

Closed
MiguelCastillo opened this issue May 31, 2015 · 1 comment
Closed

Comments

@MiguelCastillo
Copy link
Owner

The issue with this is that if we allow plugins to process other plugins when they dynamically loaded, we are going to get deadlocks.

For example, the following sequence of plugins will cause a deadlock because the first plugin will depend on the second one to load, and the second one depends on the first to load.

P1 -> P2.

Deadlock: P1 triggers P2 to load so that P1 can be processed by P2. When P1 is loading P2, P2 then needs to load P1 so that P2 can be processed by P1. This is a deadlock...

So, we should only do forward processing. Meaning, P1 can load P2 so that P2 can process P1, but P2 cannot load P1 so that P1 can process P2. This approach is a bit fragile because users will need to be aware of this. Ultimately, we completely block plugins from processing other plugins by automatically adding dynamic plugins to the ignore list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant