Skip to content
  • Ondřej Surý's avatar
    Update netmgr, tasks, and applications to use isc_loopmgr · b69e7831
    Ondřej Surý authored
    Previously:
    
    * applications were using isc_app as the base unit for running the
      application and signal handling.
    
    * networking was handled in the netmgr layer, which would start a
      number of threads, each with a uv_loop event loop.
    
    * task/event handling was done in the isc_task unit, which used
      netmgr event loops to run the isc_event calls.
    
    In this refactoring:
    
    * the network manager now uses isc_loop instead of maintaining its
      own worker threads and event loops.
    
    * the taskmgr that manages isc_task instances now also uses isc_loopmgr,
      and every isc_task runs on a specific isc_loop bound to the specific
      thread.
    
    * applications have been updated as necessary to use the new API.
    
    * new ISC_LOOP_TEST macros have been added to enable unit tests to
      run isc_loop event loops. unit tests have been updated to use this
      where needed.
    b69e7831