Wait until the count of all supervised, non-daemon forks that are running reaches 0, or until any supervised fork fails with an exception.
The completion of this method is typically followed by ending the scope, which cancels any forks that are still running.
Note that daemon forks can still start supervised non-daemon forks after this method returns.