From bb912b081ed339e4a5419bd3d2ffd7465f2f72d3 Mon Sep 17 00:00:00 2001 From: nodist Date: Mon, 27 Jul 2026 17:17:56 -0400 Subject: bottom up redesign --- docs/application/mutex.md | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 docs/application/mutex.md (limited to 'docs/application/mutex.md') diff --git a/docs/application/mutex.md b/docs/application/mutex.md deleted file mode 100644 index e1b15c7..0000000 --- a/docs/application/mutex.md +++ /dev/null @@ -1,24 +0,0 @@ -# Mutex - ---- - -## Object Definitions - -```c -typedef struct { - kpl_task_queue queue; - _Atomic int32_t lock; -} kpl_mutex; -``` - -## Usage - -1. Before adding to the `queue` do `value = lock++` -2. Add to the queue -3. If `value` is `0` the thread does an async schedule of the mutex task, otherwise the thread moves on - -### Mutex Task - -1. Get task from `queue` and run task - * Use spinlock with `pasue`, the `lock` will be set before the task is added to the `queue` -2. After task completion, do `value = --lock`, stop if `value` is `0`, otherwise repeat -- cgit v1.2.3