Skip to content

Latest commit

 

History

History
25 lines (19 loc) · 1012 Bytes

File metadata and controls

25 lines (19 loc) · 1012 Bytes

Module author checklist (v8)

State placement

  • Config/static/shared data in pData (per-action).
  • Live handles/buffers in wrkrInstanceData_t (per-worker).
  • No sharing of WID across workers.

Serialization

  • Inherently serial resources (e.g., a shared stream) guarded by a mutex in pData.
  • If any library thread or callback touches shared state, define a pthread_rwlock_t and document who reads/writes.

Entry points

  • createWrkrInstance/freeWrkrInstance allocate/free WID only.
  • doAction/tx callbacks may run concurrently across workers; they never share WID.

Docs in code

  • Top-of-file “Concurrency & Locking” block explains the above for this module.
  • Doxygen comments on pData/WID typedefs describe lifetime & locking rules.

Testing

  • Run with queue.workerThreads > 1. CI already runs TSAN on the full suite.

Style

  • Commit subject ≤ 65 chars; aim for 62. ASCII only. See CONTRIBUTING.md.