Use os.execv instead of subprocess.run when no further action is taken.

This prevents the underlying file from being marked busy while a
long-running action is happening (e.g. eureka is open).
This commit is contained in:
yrriban 2025-12-24 18:09:49 -05:00
parent 21bdcf3e17
commit edbf4f2a0e
7 changed files with 23 additions and 25 deletions

View file

@ -1,8 +1,8 @@
import contextlib
import dcc.config
import dcc.doom_base
import os
import shutil
import subprocess
import tempfile
@ -18,7 +18,7 @@ class Fabricate(dcc.doom_base.WadMap):
command = [self.dsda]
if not parsed_args.fg and shutil.which("xvfb-run") is not None:
command = ["xvfb-run"] + command
subprocess.run(
os.execvp(command[0],
command + self.dsda_preamble()
+ ["-timedemo", self.demo_in_path()]
+ ["-viddump", self.video_path()]