code: def wait_for_initial_registration(self, timeout):
      self._wait_cond.acquire()
      try:
          while len(self._all_task_addresses) < self._num_proc:
              self._wait_cond.wait(timeout.remaining())
              timeout.check_time_out_for("tasks to start")
      finally:
          self._wait_cond.release()
  
imports: import threading
  from bluefog.run.horovodrun.common.util import network
label_desc: Use image node_id 7 for calling the BasicDriverService obj's underlying member method code with example usage: obj.wait_for_initial_registration(timeout) without return types