Merge pull request #273 from joaoneves0/fix/xvfb-leak

fix: Ensure virtual_display is killed even if browser.close fails
This commit is contained in:
daijro
2026-01-11 23:38:28 -06:00
committed by GitHub
+14 -6
View File
@@ -317,9 +317,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
@@ -339,9 +343,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