Skip to content

fix: properly close event loops in EventHolder and Observer#527

Merged
Core447 merged 1 commit into
StreamController:mainfrom
ImDevinC:fix/event-loop-cleanup
Feb 13, 2026
Merged

fix: properly close event loops in EventHolder and Observer#527
Core447 merged 1 commit into
StreamController:mainfrom
ImDevinC:fix/event-loop-cleanup

Conversation

@ImDevinC

@ImDevinC ImDevinC commented Jan 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add try-finally blocks to ensure event loops are properly closed
  • Fixes resource leak when creating new event loops in EventHolder
    and Observer
  • Prevents potential memory/resource issues from unclosed loops

Changes

  • EventHolder.py: Wrap run_until_complete in try-finally to
    close loop
  • Observer.py: Add finally block to close event loop after notify

Why

When creating new event loops with asyncio.new_event_loop(), they
must be explicitly closed to prevent resource leaks. The comment in
EventHolder.py referenced applying a fix from Observer.py, but
Observer.py also needed the same fix applied.

- Add try-finally blocks to ensure event loops are closed after use
- Fixes resource leak when creating new event loops
- Applies cleanup to both EventHolder.py and Observer.py
@Core447 Core447 merged commit f19198b into StreamController:main Feb 13, 2026
@ImDevinC ImDevinC deleted the fix/event-loop-cleanup branch February 23, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants