-
Notifications
You must be signed in to change notification settings - Fork 384
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
Fix service registration delay causing next service to be skipped #6529
Conversation
Plugin builds for 0fc0374 are ready 🛎️!
|
Fixed in 0fc0374. |
@schlessera If you could double check the changes here when you get a chance. In the meantime I'm merging because it fixes the issue. |
That definitely looks off, and I think it only happens to work because we don't have a service yet that has more than one delayed requirement. If you look at the structure, you can see that the |
In case the logic is too complex and finicky with the array index, we can work with a copy of the array that we pop/shift elements out of. That will probably make for cleaner code, even if at a slight performance overhead. |
Ah, nevermind. Due to the |
The fix LGTM, but I noticed another problem and opened #6548 for that. |
Summary
Fixes the regression @westonruter reported in #6459 (comment).
When a service's registration is delayed, the service is moved to the end of the array list of services to be registered. When the service is moved to the end, the array's internal pointer moves to the next service in the array, pointing to the next service to be registered. By calling
next($services)
the array's internal pointer is moved once again to the next service, skipping the to-be service and preventing it from being registered.See #6484.
Fixes #6459.
Checklist