- [2-1] executePersistent: add defer sess.mu.Unlock() so all return paths release the session mutex. Remove explicit unlock calls. - [2-2] Protect c.sessions map access in Execute with c.mu. Replace c.Stop() in timeout/cancel path with per-session close/kill/delete so only the affected profile session is cleaned up. - [2-3] Add TestCLIExecutePersistentConsecutiveExecutes to verify the same persistent profile can be executed consecutively without blocking. Apply gofmt to all adapter files. |
||
|---|---|---|
| .. | ||
| CODE_REVIEW.md | ||
| code_review_0.log | ||
| code_review_1.log | ||
| code_review_2.log | ||
| code_review_3.log | ||
| PLAN.md | ||
| plan_0.log | ||
| plan_1.log | ||
| plan_2.log | ||
| plan_3.log | ||