ladybird/Meta
kleines Filmröllchen 6b13436ef6 LibCore: Introduce SharedSingleProducerCircularQueue
This new class with an admittedly long OOP-y name provides a circular
queue in shared memory. The queue is a lock-free synchronous queue
implemented with atomics, and its implementation is significantly
simplified by only accounting for one producer (and multiple consumers).
It is intended to be used as a producer-consumer communication
datastructure across processes. The original motivation behind this
class is efficient short-period transfer of audio data in userspace.

This class includes formal proofs of several correctness properties of
the main queue operations `enqueue` and `dequeue`. These proofs are not
100% complete in their existing form as the invariants they depend on
are "handwaved". This seems fine to me right now, as any proof is better
than no proof :^). Anyways, the proofs should build confidence that the
implemented algorithms, which are only roughly based on existing work,
operate correctly in even the worst-case concurrency scenarios.
2022-04-21 13:55:00 +02:00
..
Azure Meta: Switch to clang-format-14 as the standard formatter 2022-04-01 21:24:45 +01:00
CMake LibCore: Introduce SharedSingleProducerCircularQueue 2022-04-21 13:55:00 +02:00
HeaderCheck Meta: Remove obsolete HeaderCheck .gitignore 2022-03-24 20:11:39 -07:00
Lagom LibWeb: Generate some metadata about transform functions 2022-04-18 14:16:28 +02:00
Screenshots Meta: Move screenshots into subdir 2022-04-03 13:14:15 +01:00
ShellCompletions/zsh Meta: Add copy-src to commands in ZSH autocomplete script 2022-03-14 22:20:35 +00:00
Websites Everywhere: Use title case for man section titles 2022-02-25 12:06:31 -05:00
bochsrc
build-image-extlinux.sh
build-image-grub.sh
build-image-limine.sh Meta: Bump Limine version to 2.78.2 2022-02-14 11:52:07 +01:00
build-image-qemu.sh Meta: Fix e2fsck variable on macOS in build-image-qemu.sh 2022-03-30 01:57:51 -07:00
build-manpages-website.sh Meta: Title case 'File Formats' on man.serenityos.org 2022-02-24 23:04:22 +00:00
build-native-partition.sh Meta: Add install-native-partition CMake target installing to a real FS 2022-02-04 12:44:50 +01:00
build-root-filesystem.sh Meta: Keep timestamps of manually copied toolchain output 2022-04-17 10:53:31 -07:00
check-ak-test-files.sh
check-debug-flags.sh Kernel: Support all Intel-defined CPUID feature flags for EAX=1 2022-03-27 18:54:56 +02:00
check-markdown.sh Utilities+Meta: Check icons in markdown-check 2022-02-26 20:05:06 +02:00
check-newlines-at-eof.py
check-style.py
check-symbols.sh
check-syscall-lists.sh
convert-markdown-links.lua
debug-kernel.sh Meta: Allow setting a host IP address to bind to 2022-04-20 14:12:34 +02:00
export-argsparser-manpages.sh
extlinux.conf
generate-embedded-resource-assembly.sh
generate-libwasm-spec-test.py Meta: Skip wasm tests whose modules cannot be loaded 2022-03-20 10:44:32 +03:30
generate-libwasm-spec-test.sh
grub-ebr.cfg
grub-gpt.cfg
grub-mbr.cfg
install-ports-tree.sh
limine.cfg Meta: Add support for the Limine bootloader 2022-02-14 11:52:07 +01:00
lint-ci.sh Meta+Userland: Run the GML formatter on CI and pre-commit 2022-02-07 18:39:50 +01:00
lint-clang-format.sh Meta: Switch to clang-format-14 as the standard formatter 2022-04-01 21:24:45 +01:00
lint-commit.sh
lint-executable-resources.sh
lint-gml-format.sh Meta+Userland: Run the GML formatter on CI and pre-commit 2022-02-07 18:39:50 +01:00
lint-keymaps.py
lint-missing-resources.sh
lint-ports.py Ports/pt2-clone: Update pt2-clone to version 1.43 2022-04-11 19:43:56 -07:00
lint-prettier.sh
lint-python.sh
lint-shell-scripts.sh Base: Add some default completions to shellrc 2022-04-18 19:53:10 +04:30
new-project.sh
refresh-serenity-qtcreator.sh
run.sh Meta: Allow setting a host IP address to bind to 2022-04-20 14:12:34 +02:00
serenity.sh Meta: Fix path to GCC's addr2line in serenity.sh 2022-03-27 18:54:56 +02:00
serenity_gdb.py Meta: Avoid showing elements in extremely large vectors in gdb 2022-04-01 21:41:41 +01:00
text-to-cpp-string.sh
tweet-commits.js