summaryrefslogtreecommitdiff
path: root/kern/condition.c
AgeCommit message (Collapse)Author
2017-09-02Make assert have no side effectsRichard Braun
This makes sure symbols referenced by assert uses may not be generated if unused. The recently introduced __unused macro is used to suppress compiler warnings resulting from this change.
2017-08-27kern/condition: implement timed waitsRichard Braun
2017-05-30Move assert.h to the include directoryRichard Braun
This turns assert.h into a standard header.
2017-03-17kern/sleepq: also disable interrupts during critical sectionsRichard Braun
2017-03-17kern/{condition,mutex}: include stdbool.hRichard Braun
2017-03-04kern/{condition,mutex}: reimplement on top of sleep queuesRichard Braun
2017-02-04Clean up compilationRichard Braun
Instead of mixing standard headers and internal redefinitions of standard types, completely rely on the compiler for what is guaranteed for a free standing environment. This results in the removal of kern/stddef.h and kern/stdint.h. The kern/types.h header is reintroduced for the different (and saner) purpose of defining types not specified in standard C, namely ssize_t for now.
2017-02-04kern/types: split into module-specific type headersRichard Braun
Using a single header for all types causing inclusion circular dependencies isn't very elegant and doesn't scale.
2016-12-09Force brackets around one-line conditional statementsRichard Braun
This change was done using astyle, with a few manual editing here and there.
2014-06-18kern/thread: add thread_joinRichard Braun
This change affects more files than it apparently would at first glance. This is because circular dependencies can easily be created between the thread, mutex, condition and spinlock modules. As a result, some of the types of these modules are now defined in kern/types.h.
2014-01-03Update calls to atomic operationsRichard Braun
Make spin locks and mutexes encode their state on an int rather than a long.
2013-04-14kern/condition: make condition_init an inline functionRichard Braun
2013-04-14kern/{condition,mutex}: refactor common codeRichard Braun
The condition module intrusively uses mutexes. Augment the interface of the mutex module so that mutexes and conditions share common code. As a side effect, the implementation should have gained in clarity.
2013-04-14kern/condition: new moduleRichard Braun