mirror of
https://github.com/rsyslog/rsyslog.git
synced 2026-05-10 20:50:49 +02:00
This change updates the root AGENTS.md, plugins/AGENTS.md, and MODULE_AUTHOR_CHECKLIST.md to explicitly require that new configuration parameters be documented in the doc/ subtree. This ensures that future AI agents (and humans) do not overlook documentation tasks when implementing new features. Impact: Improved documentation coverage and consistency for new features. AI-Agent: Antigravity
1.1 KiB
1.1 KiB
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/freeWrkrInstanceallocate/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.
- Documentation: New parameters added to
doc/source/reference/parameters/and linked in module.rst.
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.