Repository navigation
Releases: DeguiLiu/coact
Releases · DeguiLiu/coact
Release list
coact v0.5.0
协程
- 栈式协程(
ucontext):栈守卫与峰值水位诊断,栈损坏从静默崩溃变为可观测计数 CoroSem:无锁协程信号量,per-sem 通知序列,消除惊群与 lost-wake 窗口- 协程模式下的 current-coroutine 路由修正;PAL 增加 yield 操作
事件与调度
BitFieldView:寄存器字段抽象- PAL softirq:ISR 完成路径抽象
- Dispatcher 空闲等待改为阻塞等待,替代轮询
正确性与可移植性
SpscRing补齐const T&推送重载(MSVC 重载解析差异)- 池注册表槽位正确释放;softirq 以 0 表示永久等待
- TSan 清理:worker pthread 回收、worker 探测计数器原子化
- MSVC 构建修复、分支提示宏;格式与门禁脚本修复、测试挂起有界
验证
- host-test(Debug / RelWithDebInfo)、sanitizers、windows-msvc 三个 CI job 全部通过
coact v0.3.0
Changes
- Enforce compile-time size/align contracts in pool/queue/staging
- pal_rtthread: add
read_extended_counterto extend 32-bit counter wraps - Add negative-compile tests for pool layout invariants
- Refresh per-module tests and docs
Full diff: v0.2.0...v0.3.0
coact v0.2.0
Highlights
- Add static RT-Thread runtime profiles and PAL validation gates.
- Add C++17 static AO, SPSC ring, and event-pool lifecycle improvements.
- Add RT-Thread logging bridge, examples, and 29 passing host tests.
coact 0.1.1
coact 0.1.1 — 面向 RT-Thread 5.2.x 的事件驱动框架(Active Object + HSM)。CI 全绿。
本版本:
- 修复
Runtime/Coordinator移除对pal_posix.hpp的强制包含,RT-Thread 平台无需 pthread stub 即可编译(Cortex-M 交叉编译已验证)。 - README 改为中英双语,明确 RT-Thread 为首选目标、Linux 为兼容支持平台。
serial_ota_demo移到COACT_BUILD_SERIAL_OTA之后(依赖树外 newosp 头文件),默认 host 构建与 CI 不再依赖 newosp。- CI 触发修正到 master 分支;host 构建 + ctest(Debug/RelWithDebInfo)+ ASan/UBSan,全部通过。
框架核心:QP 式引用计数事件池(32-bit 原生 CAS,无 libatomic)、三级 Staging + Breaker 背压、静态表 HSM、SingleCoreCriticalRing(irq-mask)与 Vyukov MPSC 双队列后端。
验证:host 默认 14 个测试目标全绿;RT-Thread 5.2.1 / qemu-vexpress-a9(单核)task+ISR 共 20 事件全部正确派发、池完全回收。