<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-video-audio-recording--interrupt-child-wf-recorder.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-24T09:08:19+00:00</updated>
<entry>
<title>fix(recording): scope wf-recorder stop signal to our own process</title>
<updated>2026-05-24T09:08:19+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-24T09:08:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=556f48a2a0518253015496a618eec9e7a7142dcc'/>
<id>urn:sha1:556f48a2a0518253015496a618eec9e7a7142dcc</id>
<content type='text'>
Stopping a Wayland recording ran pkill -INT wf-recorder, which signals every wf-recorder on the system — including an unrelated screen capture the user started outside Emacs. The stop path now scopes the producer-first interrupt to the wf-recorder child of our own recording shell via pkill -P &lt;shell-pid&gt;, in the new cj/recording--interrupt-child-wf-recorder helper.

The producer-first ordering is unchanged: wf-recorder still gets SIGINT before the process-group signal so ffmpeg sees a clean EOF on pipe:0 and finalizes the MKV. The orphan-cleanup at recording start stays a broad by-name kill on purpose — those leftover recorders come from crashed sessions whose shells are already dead, so there is no live PID to scope to. Tests cover the scoped call, the nil-PID no-op, and that the bare system-wide form is never used.
</content>
</entry>
</feed>
