mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-15 19:50:40 +01:00
Added cross-references to doc/ai/module_map.yaml in both developer-
facing guides:
- AGENTS.md:
* Mentioned the AI module map in the Repository Overview and
Quickstart sections.
* Added a common task instructing contributors to consult the map
before making edits.
- DEVELOPING.md:
* Updated “Pointers” to include the AI module map as a source for
per-module paths and known locking hints.
This improves discoverability of module locations and expected locking
patterns for both AI agents (e.g., Codex) and human contributors,
reducing time spent locating code and relevant design notes.
No functional changes; documentation only.
1012 B
1012 B
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.
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.