From 239f248456ad00f894dc26dceefa968898738c9d Mon Sep 17 00:00:00 2001 From: Stefan Zabka Date: Mon, 22 Jun 2020 16:43:42 +0200 Subject: Getting make to run --- 04_exercise/arena/arena_list.h | 57 ------------------------------------------ 1 file changed, 57 deletions(-) delete mode 100644 04_exercise/arena/arena_list.h (limited to '04_exercise/arena/arena_list.h') diff --git a/04_exercise/arena/arena_list.h b/04_exercise/arena/arena_list.h deleted file mode 100644 index 304209c..0000000 --- a/04_exercise/arena/arena_list.h +++ /dev/null @@ -1,57 +0,0 @@ -// -// Created by stefan on 10.06.20. -// - -#ifndef BETRIEBSYSTEME_ARENA_LIST_H -#define BETRIEBSYSTEME_ARENA_LIST_H - -#include -#include -#include - -typedef struct Node { - void * value; - struct Node * next; - struct Node * prev; -} Node; - -typedef struct List { - Node * first; - Node * last; -} List; - - -// Should we have a free list or just a bit set relative to the size of the slab? -/** This structure manages an arena / memory slab to be used - * This structure is thread-safe as it locks internally - * It will spin until a request is safe to access the items - * This also means this structure shouldn't be read externally - * unless the thread doing so managed to aquire the atomic_flag - */ -typedef struct ArenaList { - List freeList; - List activeList; - Node * arena; - size_t size; - atomic_char lock; -} AtomicArenaList; - -typedef bool (*SearchFunction)(void const *); -//Initializes the node array -AtomicArenaList alInit(Node * arena, size_t size); -// Return -1 if the List is full -int alPush(AtomicArenaList * al, void * value); - -// Return -1 if the Node was already deleted -int alRemoveElem(AtomicArenaList * al, void * value); - -/** - * Searches the activeList for an element - * for which the search function returns true - * The function will be passed the value pointer - * of a given Node - * @return the Element pointed or NULL if nothing matched - */ -void *alFindLastElem(AtomicArenaList *al, SearchFunction f); - -#endif // BETRIEBSYSTEME_ARENA_LIST_H -- cgit v1.2.3-54-g00ecf