  import threading
  import time
  import shutil
  import signal
  import uuid
  from collections import namedtuple
  
  import capnp
  
  import cereal.messaging as messaging
 
</s> remove import shutil
 </s> add  </s> remove   finally:
    teardown_prefix()
 </s> add  </s> remove   setup_prefix()
  try:
 </s> add   with OpenpilotPrefix(): </s> remove def setup_prefix():
  os.environ['OPENPILOT_PREFIX'] = str(uuid.uuid4())
  msgq_path = os.path.join('/dev/shm', os.environ['OPENPILOT_PREFIX'])
  try:
    os.mkdir(msgq_path)
  except FileExistsError:
    pass


def teardown_prefix():
  if not os.environ.get("OPENPILOT_PREFIX", 0):
    return
  symlink_path = Params().get_param_path()
  if os.path.exists(symlink_path):
    shutil.rmtree(os.path.realpath(symlink_path), ignore_errors=True)
    os.remove(symlink_path)
  msgq_path = os.path.join('/dev/shm', os.environ['OPENPILOT_PREFIX'])
  shutil.rmtree(msgq_path, ignore_errors=True)

 </s> add 
  import threading
  import time
  import shutil
  import signal

  from collections import namedtuple
  
  import capnp
  
  import cereal.messaging as messaging
keep keep keep keep replace keep keep keep keep keep
 process replay: prefix setup in helper (#24636)

* prefix setup in helper

* context manager

* name change + none default

* skip checking prefix

* type hints + unset env 
selfdrive/test/process_replay/process_replay.py