701 using namespace impl;
705 environment_params_t & env_params,
706 mbox_t stats_distribution_mbox )
708 ensure_autoshutdown_enabled( env_params );
710 environment_infrastructure_t * obj =
nullptr;
714 const auto tracking = env_params.work_thread_activity_tracking();
715 if( work_thread_activity_tracking_t::on == tracking )
716 obj =
new env_infrastructure_t< reusable::real_activity_tracker_t >(
717 outliving_mutable(io_svc),
719 env_params.so5_giveout_coop_listener(),
720 std::move(stats_distribution_mbox) );
722 obj =
new env_infrastructure_t< reusable::fake_activity_tracker_t >(
723 outliving_mutable(io_svc),
725 env_params.so5_giveout_coop_listener(),
726 std::move(stats_distribution_mbox) );
728 return environment_infrastructure_unique_ptr_t(
730 environment_infrastructure_t::default_deleter() );