signertasks.h File Reference
`#include "config.h"`
`#include <time.h>`
`#include "scheduler/task.h"`
`#include "scheduler/fifoq.h"`
`#include "status.h"`
`#include "locks.h"`

Go to the source code of this file.

## Data Structures

struct | worker_context

## Functions

void | drudge (worker_type *worker)
void | task_schedule_easy (const char *zonename, task_id class, task_id type, time_t(*fn)(task_type *, const char *, void *, void *), void *, time_t time)
time_t | do_readsignconf (task_type *task, const char *zonename, void *zonearg, void *contextarg)
time_t | do_forcereadsignconf (task_type *task, const char *zonename, void *zonearg, void *contextarg)
time_t | do_signzone (task_type *task, const char *zonename, void *zonearg, void *contextarg)
time_t | do_readzone (task_type *task, const char *zonename, void *zonearg, void *contextarg)
time_t | do_forcereadzone (task_type *task, const char *zonename, void *zonearg, void *contextarg)
time_t | do_writezone (task_type *task, const char *zonename, void *zonearg, void *contextarg)

## Function Documentation

## do_forcereadsignconf()

time_t do_forcereadsignconf | ( | task_type * | task,
|  | const char * | zonename,
|  | void * | zonearg,
|  | void * | contextarg
| ) |  |

extern

Definition at line 239 of file signertasks.c.

References worker_context::engine, zone_struct::name, engine_struct::taskq, tools_signconf(), zone_struct::zone_lock, and zone_struct::zoneconfigvalid.

## do_forcereadzone()

time_t do_forcereadzone | ( | task_type * | task,
|  | const char * | zonename,
|  | void * | zonearg,
|  | void * | contextarg
| ) |  |

extern

Definition at line 408 of file signertasks.c.

References worker_context::engine, signconf_struct::last_modified, zone_struct::name, signconf_struct::sig_resign_interval, zone_struct::signconf, signconf_struct::soa_serial, engine_struct::taskq, tools_input(), and zone_struct::zone_lock.

## do_readsignconf()

time_t do_readsignconf | ( | task_type * | task,
|  | const char * | zonename,
|  | void * | zonearg,
|  | void * | contextarg
| ) |  |

extern

Definition at line 209 of file signertasks.c.

References worker_context::engine, signconf_struct::last_modified, zone_struct::name, zone_struct::signconf, engine_struct::taskq, tools_signconf(), zone_struct::zone_lock, and zone_struct::zoneconfigvalid.

## do_readzone()

time_t do_readzone | ( | task_type * | task,
|  | const char * | zonename,
|  | void * | zonearg,
|  | void * | contextarg
| ) |  |

extern

Definition at line 352 of file signertasks.c.

References worker_context::engine, signconf_struct::last_modified, zone_struct::name, signconf_struct::sig_resign_interval, zone_struct::signconf, signconf_struct::soa_serial, engine_struct::taskq, tools_input(), and zone_struct::zone_lock.

## do_signzone()

time_t do_signzone | ( | task_type * | task,
|  | const char * | zonename,
|  | void * | zonearg,
|  | void * | contextarg
| ) |  |

extern

Definition at line 268 of file signertasks.c.

References worker_context::clock_in, worker_context::engine, zone_struct::name, engine_struct::need_to_reload, stats_struct::sig_count, signconf_struct::sig_resign_interval, stats_struct::sig_reuse, stats_struct::sig_soa_count, stats_struct::sig_time, engine_struct::signal_cond, engine_struct::signal_lock, zone_struct::signconf, worker_context::signq, signconf_struct::soa_serial, stats_struct::start_time, zone_struct::stats, stats_struct::stats_lock, engine_struct::taskq, worker_context::worker, zone_struct::zone_lock, zone_prepare_keys(), and zone_update_serial().

## do_writezone()

time_t do_writezone | ( | task_type * | task,
|  | const char * | zonename,
|  | void * | zonearg,
|  | void * | contextarg
| ) |  |

extern

Definition at line 457 of file signertasks.c.

References worker_context::clock_in, worker_context::engine, zone_struct::name, signconf_struct::sig_resign_interval, zone_struct::signconf, engine_struct::taskq, tools_output(), worker_context::worker, zone_backup2(), and zone_struct::zone_lock.

## drudge()

void drudge | ( | worker_type * | worker | ) |

extern

Apparently the queue is empty. Wait until new work is queued. The drudger will release the signq lock while sleeping and will automatically grab the lock when the threshold is reached. Threshold is at 1 and MAX (after a number of tries).

Definition at line 152 of file signertasks.c.

References worker_context::clock_in, worker_context::engine, engine_struct::need_to_reload, rrset_sign(), engine_struct::signal_cond, engine_struct::signal_lock, worker_context::signq, engine_struct::taskq, and worker_context::worker.

## task_schedule_easy()

void task_schedule_easy | ( | const char * | zonename,
|  | task_id | class,
|  | task_id | type,
|  | time_t(*)(task_type *, const char *, void *, void *) | fn,
|  | void * | ,
|  | time_t | time
| ) |  |

extern