mirror of
https://github.com/daijro/camoufox.git
synced 2026-08-21 00:01:07 +00:00
Ensure virtual display cleanup runs on browser close failure
This commit is contained in:
@@ -302,9 +302,13 @@ async def async_attach_vd(
|
||||
_close = browser.close
|
||||
|
||||
async def new_close(*args: Any, **kwargs: Any):
|
||||
await _close(*args, **kwargs)
|
||||
if virtual_display:
|
||||
virtual_display.kill()
|
||||
try:
|
||||
await _close(*args, **kwargs)
|
||||
except Exception:
|
||||
raise
|
||||
finally:
|
||||
if virtual_display:
|
||||
virtual_display.kill()
|
||||
|
||||
browser.close = new_close
|
||||
browser._virtual_display = virtual_display
|
||||
@@ -324,9 +328,13 @@ def sync_attach_vd(
|
||||
_close = browser.close
|
||||
|
||||
def new_close(*args: Any, **kwargs: Any):
|
||||
_close(*args, **kwargs)
|
||||
if virtual_display:
|
||||
virtual_display.kill()
|
||||
try:
|
||||
_close(*args, **kwargs)
|
||||
except Exception:
|
||||
raise
|
||||
finally:
|
||||
if virtual_display:
|
||||
virtual_display.kill()
|
||||
|
||||
browser.close = new_close
|
||||
browser._virtual_display = virtual_display
|
||||
|
||||
Reference in New Issue
Block a user