Move shadow processing out of task event loop #3631
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change summary
As part of the recent unixd changes, we moved shadow processing to the privileged tasks daemon. In that move the handling of those files was moved into the event loop of the task handler itself, which could cause the daemon to become unresponsive for short or long periods, which then caused unixd to fail to make home directories.
This moves the shadow processing to a separate task, and only once it's ready the state flips and notifies the connected unixd caller.
Fixes #3620
Checklist