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

Support REAPER option "Allow complete unload of VST plug-ins" #83

Closed
helgoboss opened this issue Jan 4, 2021 · 2 comments
Closed

Support REAPER option "Allow complete unload of VST plug-ins" #83

helgoboss opened this issue Jan 4, 2021 · 2 comments
Labels
enhancement New feature or request realearn Related to ReaLearn
Milestone

Comments

@helgoboss
Copy link
Owner

Right now it crashes when this is enabled which indicates a cleanup issue.

@helgoboss helgoboss added the enhancement New feature or request label Jan 4, 2021
@helgoboss helgoboss added this to the 1.12.0 milestone Jan 4, 2021
@helgoboss
Copy link
Owner Author

Ah, that problem just occurs if the new projection server is running.

@helgoboss
Copy link
Owner Author

The problem here is twofold:

  1. hyper's graceful shutdown sequence can be blocked by open browser tabs.
    • The problem is that open browser tabs can still have an established TCP connection - even if keep-alive is disabled.
    • In my case this happened for example with Chrome on Windows.
    • Temporary solution: Patch hyper to force a connection close when shutting down.
    • Preferred solution: Make this way of shutting down an official option for hyper.
  2. Tokio runtime using basic_scheduler() won't release the ports, even if warp/hyper have managed to shutdown properly.
    • This is a problem because once the ReaLearn plug-in is unloaded, we would expect it to just work if added again. But it won't. It will not be able to start the server because the port is still occupied.
    • Solution: Use threaded_scheduler() instead of basic_scheduler(). This fixes the issue and the ports get properly released!

helgoboss added a commit to helgoboss/hyper that referenced this issue Jan 5, 2021
helgoboss added a commit that referenced this issue Jan 5, 2021
by completely shutting down server on unload
helgoboss added a commit that referenced this issue Jan 20, 2021
and after being unloaded and reloaded if "Allow complete unload of VST plug-ins" enabled
@helgoboss helgoboss added the realearn Related to ReaLearn label Jul 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request realearn Related to ReaLearn
Projects
None yet
Development

No branches or pull requests

1 participant