Skip to content

Releases: DeguiLiu/coact

coact v0.5.0

Choose a tag to compare

@DeguiLiu DeguiLiu released this 13 Sep 03:53

协程

  • 栈式协程(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

Choose a tag to compare

@DeguiLiu DeguiLiu released this 21 Aug 22:06

Changes

  • Enforce compile-time size/align contracts in pool/queue/staging
  • pal_rtthread: add read_extended_counter to 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

Choose a tag to compare

@DeguiLiu DeguiLiu released this 13 Aug 15:26

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

Choose a tag to compare

@DeguiLiu DeguiLiu released this 08 Aug 15:38

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 事件全部正确派发、池完全回收。