From 7bd3eb3b1ad4209ac4cf4b46f849213d46bc33aa Mon Sep 17 00:00:00 2001 From: David Timber Date: Mon, 17 Aug 2020 18:16:49 +0930 Subject: Employ pthsem ... * Use uint8_t array for hardcoded binary data * Add proone-ipaddr-arr to hardcode DoT servers * Convert X509 data * Brought back M68k and ARC archs just in case * Add CLOCK_REALTIME in prne_mbedtls_entropy_proc_src_f for more entropy * Remove installation of signal handlers. Use sigwait() instead * Bugfix: prne_rnd_anum_str() returned null characters * Add prne_dbgpf() and prne_dbgperr() * prne_assert(): put errno into a register so it's visible in the core dump --- src/worker.h | 79 ------------------------------------------------------------ 1 file changed, 79 deletions(-) delete mode 100644 src/worker.h (limited to 'src/worker.h') diff --git a/src/worker.h b/src/worker.h deleted file mode 100644 index 78661a1..0000000 --- a/src/worker.h +++ /dev/null @@ -1,79 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include - -#include "llist.h" - - -struct prne_wkr_timeout_slot; -struct prne_wkr_pollfd_slot; -struct prne_wkr_tick_info; -struct prne_wkr_sched_req; -typedef struct prne_wkr_timeout_slot* prne_wkr_timeout_slot_pt; -typedef struct prne_wkr_pollfd_slot* prne_wkr_pollfd_slot_pt; -typedef struct prne_wkr_sched_req prne_wkr_sched_req_t; -typedef struct prne_wkr_tick_info prne_wkr_tick_info_t; -typedef struct prne_worker prne_worker_t; - -struct prne_wkr_slot_parent { - prne_llist_entry_t *ent; - prne_wkr_sched_req_t *wsr; -}; - -struct prne_wkr_timeout_slot { - struct timespec dur; - struct prne_wkr_slot_parent parent; - bool active; - bool reached; -}; - -struct prne_wkr_pollfd_slot { - struct pollfd pfd; - struct prne_wkr_slot_parent parent; -}; - -struct prne_wkr_sched_req { - struct pollfd *pfd_arr; - size_t pfd_arr_size; - struct timespec timeout; - prne_llist_t tos_list; - prne_llist_t pfd_list; - bool timeout_active; -}; - -struct prne_wkr_tick_info { - struct timespec last_tick; - struct timespec this_tick; - struct timespec tick_diff; - double real_tick_diff; -}; - -struct prne_worker { - intptr_t id; - void *ctx; - - void (*free)(void *ctx); - void (*fin)(void *ctx); - void (*work)(void *ctx, const prne_wkr_tick_info_t *sched_info); - bool (*has_finalised)(void *ctx); -}; - - -void prne_init_wkr_sched_req (prne_wkr_sched_req_t *r); -void prne_free_wkr_sched_req (prne_wkr_sched_req_t *r); -bool prne_wkr_sched_req_prep_poll (prne_wkr_sched_req_t *r); -void prne_wkr_sched_req_refl_poll (prne_wkr_sched_req_t *r, const int poll_ret, const struct timespec elapsed); -bool prne_wkr_sched_req_do_poll (prne_wkr_sched_req_t *r, int *poll_ret); - -prne_wkr_timeout_slot_pt prne_alloc_wkr_timeout_slot (prne_wkr_sched_req_t *r); -void prne_free_wkr_timeout_slot (prne_wkr_timeout_slot_pt s); -prne_wkr_pollfd_slot_pt prne_alloc_wkr_pollfd_slot (prne_wkr_sched_req_t *r); -void prne_free_wkr_pollfd_slot (prne_wkr_pollfd_slot_pt s); - -void prne_init_wkr_tick_info (prne_wkr_tick_info_t *ti); -void prne_free_wkr_tick_info (prne_wkr_tick_info_t *ti); -void prne_wkr_tick_info_set_start (prne_wkr_tick_info_t *ti); -void prne_wkr_tick_info_set_tick (prne_wkr_tick_info_t *ti); \ No newline at end of file -- cgit