summaryrefslogtreecommitdiffstats
path: root/lib/seqlock.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: manual SPDX License ID conversionsDavid Lamparter2023-02-091-15/+1
| | | | | | | | | | The files converted in this commit either had some random misspelling or formatting weirdness that made them escape automated replacement, or have a particularly "weird" licensing setup (e.g. dual-licensed.) This also marks a bunch of "public domain" files as SPDX License "NONE". Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* lib, zebra: add missing extern "C" {} blocks to new header filesRenato Westphal2020-04-231-0/+8
| | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* lib/seqlock: add a few more commentsDavid Lamparter2019-07-311-2/+26
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* lib/seqlock: add timed-wait operationDavid Lamparter2019-07-311-0/+2
| | | | | | | seqlock_timedwait() puts an (absolute, CLOCK_MONOTONIC) deadline on how long we wait. The RCU code uses this for its watchdog implementation. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* lib/seqlock: avoid syscalls in no-waiter casesDavid Lamparter2019-07-311-2/+8
| | | | | | | When we have no contention on the seqlock, we shouldn't incur the cost of syscalls. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* lib: add "seqlock" wait/broadcast primitiveDavid Lamparter2019-04-181-0/+106
Manually tested rather extensively in addition to included unit tests, should work as intended. NB: The OpenBSD futex() code is "future"; it's not actually in OpenBSD (yet?) and thus untested. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>