Bugfix: Require is not properly triggering failure on error.
Get and handle the status code of controller_rule_wait_all().
Fix cases where "status" is being used where "status_lock" is better suited.
Remove unnecessary double assignment of status error.
In this case, only when F_lock is returned should the status be set.
This may need to be revisited and have the called function also set error on F_lock rather than handling here.
For asynchronous functions controller_rule_wait_all() is not properly handling the error.
This is happening because "required" is being incorrectly used.
For this function "required" is design to only wait for all required processes only and not limit the required validation.
Removing this fixing the problem so that when an asynchronous process that is required fails, the failure is propagated to the waiting process.
Add "require" in the htop example as a place for testing.
Add additional comments for clarifications and cleanup existing comments.