Crinit -- Configurable Rootfs Init
Loading...
Searching...
No Matches
timerdb.c File Reference

(/usr/bin/git 2025-12-03, commit: 9942456c)

Implementation of functions related managing the pool of all timers. More...

#include "timerdb.h"
#include <poll.h>
#include <pthread.h>
#include <stdint.h>
#include <stdlib.h>
#include <sys/eventfd.h>
#include <sys/timerfd.h>
#include <unistd.h>
#include "common.h"
#include "logio.h"
#include "taskdb.h"
#include "timer.h"
Include dependency graph for timerdb.c:

Functions

static void * crinitTimerDBRunPool (void *args)
 
static void crinitPrintTimerPool (crinitTimerDB_t *pool)
 
static int crinitTimerDBInsertTimer (crinitTimer_t timer)
 
int crinitTimerDBInit (crinitTaskDB_t *taskDB)
 
int crinitTimerDBSpawn (void)
 
void crinitTimerDBRemoveTimer (char *timerStr)
 
void crinitTimerDBAddTimer (char *timerStr)
 

Variables

crinitTimerDB_t crinitTimerPool = {0}
 

Detailed Description

Implementation of functions related managing the pool of all timers.

Function Documentation

◆ crinitPrintTimerPool()

static void crinitPrintTimerPool ( crinitTimerDB_t pool)
static

Debug print the state of the timer poll and all timers in it.

Parameters
poolreference to the timerDB

◆ crinitTimerDBAddTimer()

void crinitTimerDBAddTimer ( char *  timerStr)

Adds a timer to crinits timerDB.

Parameters
timerStrthe configuration string/name for the timer

◆ crinitTimerDBInit()

int crinitTimerDBInit ( crinitTaskDB_t taskDB)

Initialize the timer db handling all of crinit's timers.

Parameters
taskDBthe task db to initialize the timerdb for
Returns
0 on success, -1 on error

◆ crinitTimerDBInsertTimer()

static int crinitTimerDBInsertTimer ( crinitTimer_t  timer)
static

Insert a timer into the timerDB. The timer needs to be fully initialized including the next timestamp

Parameters
timerthe timer to insert
Returns
0 on success, -1 on error

◆ crinitTimerDBRemoveTimer()

void crinitTimerDBRemoveTimer ( char *  timerStr)

Removes a timer from crinits timerDB.

Parameters
timerStrthe configuration string/name for the timer

◆ crinitTimerDBRunPool()

static void * crinitTimerDBRunPool ( void *  args)
static

The TimerDB thread function that handles the triggering of all timer events.

Parameters
argsUNUSED

◆ crinitTimerDBSpawn()

int crinitTimerDBSpawn ( void  )

Spawns the timer thread handling all of crinits timer.

Returns
0 on success, -1 on error

Variable Documentation

◆ crinitTimerPool

crinitTimerDB_t crinitTimerPool = {0}