140 time_t never = (3600*24*365);
144 char* working_dir = NULL;
145 char* cfg_filename = NULL;
146 uint32_t tmpserial = 0;
166 switch (task->
what) {
187 goto task_perform_continue;
214 goto task_perform_fail;
216 goto task_perform_continue;
227 ods_log_debug(
"[%s[%i]] no valid signconf.xml for zone %s yet",
240 goto task_perform_fail;
242 goto task_perform_continue;
262 goto task_perform_fail;
264 goto task_perform_continue;
276 "failed to increment serial",
300 "signing zone %s, %u signatures queued",
311 "RRsets failed", worker2str(worker->
type),
315 }
else if (!worker_fulfilled(worker)) {
317 "%u of %u RRsets", worker2str(worker->
type),
323 "needs to exit", worker2str(worker->
type),
328 "RRsets succeeded", worker2str(worker->
type),
355 goto task_perform_fail;
357 goto task_perform_continue;
375 status =
tools_audit(zone, working_dir, cfg_filename);
376 if (working_dir) { free((
void*)working_dir); }
377 if (cfg_filename) { free((
void*)cfg_filename); }
387 goto task_perform_fail;
389 goto task_perform_continue;
406 goto task_perform_fail;
408 goto task_perform_continue;
493 if (task->
backoff > ODS_SE_MAX_BACKOFF) {
494 task->
backoff = ODS_SE_MAX_BACKOFF;
496 ods_log_info(
"[%s[%i]] backoff task %s for zone %s with %u seconds",
503 task_perform_continue:
527 time_t now, timeout = 1;
552 worker_perform_task(worker);
576 timeout = (worker->
task->
when - now);
580 if (timeout > ODS_SE_MAX_BACKOFF) {
581 timeout = ODS_SE_MAX_BACKOFF;
606 hsm_ctx_t* ctx = NULL;
636 ctx = hsm_create_context();
669 if (worker_fulfilled(chief) && chief->
sleeping) {
689 hsm_destroy_context(ctx);
703 switch (worker->
type) {
705 worker_drudge(worker);
747 while (!worker->
need_to_exit && !worker_fulfilled(worker)) {
752 ods_log_debug(
"[%s[%i]] somebody poked me, check completed jobs %u "
753 "appointed, %u completed, %u failed", worker2str(worker->
type),
873 cond_basic_type worker_cond;