Changeset 111b9b9 in mainline for kernel/generic/src/proc/task.c


Ignore:
Timestamp:
2023-02-11T19:13:44Z (2 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4777e02
Parents:
76e17d7c
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2022-08-15 17:46:39)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-02-11 19:13:44)
Message:

Reimplement waitq using thread_wait/wakeup

This adds a few functions to the thread API which can be
summarized as "stop running until woken up by others".
The ordering and context-switching concerns are thus yeeted
to this abstraction and waitq only deals with maintaining
the queues. Overall, this makes the control flow in waitq
much easier to navigate.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/proc/task.c

    r76e17d7c r111b9b9  
    533533
    534534        list_foreach(task->threads, th_link, thread_t, thread) {
    535                 thread_t *thr = thread_try_ref(thread);
    536                 if (thr)
    537                         thread_interrupt(thr, false);
    538 
    539                 // If NULL, the thread is already getting destroyed concurrently with this.
     535                thread_interrupt(thread);
    540536        }
    541537
Note: See TracChangeset for help on using the changeset viewer.