void status_init(int (*get_progress)(int *), int start) { char *cfg_threshold; if (start) { if (!status_restored_time) memset(&status, 0, sizeof(status)); status.start_time = get_time(); } status_get_progress = get_progress; if (!(timeformat = cfg_get_param(SECTION_OPTIONS, NULL, "TimeFormat"))) timeformat = "%c"; if ((cfg_threshold = cfg_get_param(SECTION_OPTIONS, NULL, "ETAthreshold"))) if ((ETAthreshold = atof(cfg_threshold)) < 0.01) ETAthreshold = 0.01; showcand = cfg_get_bool(SECTION_OPTIONS, NULL, "StatusShowCandidates", 0); clk_tck_init(); /* This makes --max-run-time disregard loading time */ timer_abort = options.max_run_time; }
void sig_init(void) { clk_tck_init(); timer_save_interval = cfg_get_int(SECTION_OPTIONS, NULL, "Save"); if (timer_save_interval < 0) timer_save_interval = TIMER_SAVE_DELAY; else if ((timer_save_interval /= TIMER_INTERVAL) <= 0) timer_save_interval = 1; timer_save_value = timer_save_interval; timer_ticksafety_interval = (clock_t)1 << (sizeof(clock_t) * 8 - 4); timer_ticksafety_interval /= clk_tck; if ((timer_ticksafety_interval /= TIMER_INTERVAL) <= 0) timer_ticksafety_interval = 1; timer_ticksafety_value = timer_ticksafety_interval; atexit(sig_done); sig_install_update(); sig_install_abort(); sig_install_timer(); #if OS_FORK signal(SIGUSR2, sig_handle_status); #endif }
void idle_init(struct fmt_main *format) { #if defined(_POSIX_PRIORITY_SCHEDULING) && defined(SCHED_IDLE) struct sched_param param = {0}; #endif if (!idle_requested(format) || (options.flags & FLG_STDOUT)) return; clk_tck_init(); #if defined(__MINGW32__) || defined (_MSC_VER) SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_IDLE); #elif defined(__BEOS__) set_thread_priority(getpid(), 1); #else /* * Normally, the range is -20 to 19, but some systems can do 20 as well (at * least some versions of Linux on Alpha), so we try 20. We assume that we're * started with a non-negative nice value (so no need to increment it by more * than 20). */ if (nice(20) == -1) perror("nice"); #endif #if defined(_POSIX_PRIORITY_SCHEDULING) && defined(SCHED_IDLE) use_yield = sched_setscheduler(getpid(), SCHED_IDLE, ¶m) != 0; #elif defined(_POSIX_PRIORITY_SCHEDULING) use_yield = 1; #endif }
void status_init(int (*get_progress)(int *), int start) { char *cfg_threshold; if (start) { if (!status_restored_time) memset(&status, 0, sizeof(status)); status.start_time = get_time(); } status_get_progress = get_progress; if (!(timeFmt = cfg_get_param(SECTION_OPTIONS, NULL, "TimeFormat"))) timeFmt = "%Y-%m-%d %H:%M"; if (!(timeFmt24 = cfg_get_param(SECTION_OPTIONS, NULL, "TimeFormat24"))) timeFmt24 = "%H:%M:%S"; if ((cfg_threshold = cfg_get_param(SECTION_OPTIONS, NULL, "ETAthreshold"))) if ((ETAthreshold = atof(cfg_threshold)) < 0.01) ETAthreshold = 0.01; showcand = cfg_get_bool(SECTION_OPTIONS, NULL, "StatusShowCandidates", 0); clk_tck_init(); }
void sig_init(void) { clk_tck_init(); timer_save_interval = cfg_get_int(SECTION_OPTIONS, NULL, "Save"); if (timer_save_interval < 0) timer_save_interval = TIMER_SAVE_DELAY; else if ((timer_save_interval /= TIMER_INTERVAL) <= 0) timer_save_interval = 1; if (cfg_get_param(SECTION_OPTIONS, NULL, "AbortGraceTime")) { abort_grace_time = cfg_get_int(SECTION_OPTIONS, NULL, "AbortGraceTime"); } #if OS_TIMER timer_save_value = timer_save_interval; #elif !defined(BENCH_BUILD) timer_save_value = status_get_time() + timer_save_interval; #endif timer_ticksafety_interval = (clock_t)1 << (sizeof(clock_t) * 8 - 4); timer_ticksafety_interval /= clk_tck; if ((timer_ticksafety_interval /= TIMER_INTERVAL) <= 0) timer_ticksafety_interval = 1; timer_ticksafety_value = timer_ticksafety_interval; atexit(sig_done); sig_install(sig_handle_update, SIGHUP); sig_install_abort(); sig_install_timer(); }
void status_init(int (*get_progress)(void), int start) { if (start) { if (!status_restored_time) memset(&status, 0, sizeof(status)); status.start_time = get_time(); } status_get_progress = get_progress; clk_tck_init(); }