The detached alarm thread waits on a condition variable that was a namespace-scope static. At exit its destructor ran with the thread still waiting, and glibc's pthread_cond_destroy blocks then, so a process that called alarm never exited on Linux. The mutex, condition variable, deadline and started flag now live in one structure allocated once and never destroyed. AI-assisted (Claude Code). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Coredump.cpp | ||
| Exception.cpp | ||
| Notification.cpp | ||
| Process.cpp | ||
| Rtld.cpp | ||
| Sandbox.cpp | ||
| Sanitizer.cpp | ||
| SignalSets.cpp | ||
| Signals.cpp | ||
| SystemConfiguration.cpp | ||