static void engine_start_cmdhandler(engine_type* engine) { ods_log_assert(engine); ods_log_debug("[%s] start command handler", engine_str); engine->cmdhandler->engine = engine; ods_thread_create(&engine->cmdhandler->thread_id, cmdhandler_thread_start, engine->cmdhandler); }
static void engine_start_dnshandler(engine_type* engine) { if (!engine || !engine->dnshandler) { return; } ods_log_debug("[%s] start dnshandler", engine_str); engine->dnshandler->engine = engine; ods_thread_create(&engine->dnshandler->thread_id, dnshandler_thread_start, engine->dnshandler); }
void engine_start_drudgers(engine_type* engine) { size_t i = 0; ods_log_assert(engine); ods_log_assert(engine->config); ods_log_debug("[%s] start drudgers", engine_str); for (i=0; i < (size_t) engine->config->num_signer_threads; i++) { engine->drudgers[i]->need_to_exit = 0; engine->drudgers[i]->engine = (void*) engine; ods_thread_create(&engine->drudgers[i]->thread_id, worker_thread_start, engine->drudgers[i]); } }
static void engine_start_xfrhandler(engine_type* engine) { if (!engine || !engine->xfrhandler) { return; } ods_log_debug("[%s] start xfrhandler", engine_str); engine->xfrhandler->engine = engine; /* This might be the wrong place to mark the xfrhandler started but * if its isn't done here we might try to shutdown and stop it before * it has marked itself started */ engine->xfrhandler->started = 1; ods_thread_create(&engine->xfrhandler->thread_id, xfrhandler_thread_start, engine->xfrhandler); }
static void engine_start_workers(engine_type* engine) { size_t i = 0; ods_log_assert(engine); ods_log_assert(engine->config); ods_log_debug("[%s] start workers", engine_str); for (i=0; i < (size_t) engine->config->num_worker_threads; i++) { engine->workers[i]->need_to_exit = 0; engine->workers[i]->engine = (struct engine_struct*) engine; ods_thread_create(&engine->workers[i]->thread_id, worker_thread_start, engine->workers[i]); } return; }
static void engine_start_drudgers(engine_type* engine) { #if HAVE_DRUDGERS size_t i = 0; #endif ods_log_assert(engine); ods_log_assert(engine->config); ods_log_debug("[%s] start drudgers", engine_str); #if HAVE_DRUDGERS for (i=0; i < (size_t) engine->config->num_signer_threads; i++) { engine->drudgers[i]->need_to_exit = 0; engine->drudgers[i]->engine = (struct engine_struct*) engine; ods_thread_create(&engine->drudgers[i]->thread_id, worker_thread_start, engine->drudgers[i]); } #endif return; }