serve_forever's poll_interval is how long shutdown() blocks waiting for the loop to notice it should stop, and the default is 0.5 s. That whole half second was paid on the GUI thread every time a cast session ended: the click on the cast indicator goes disconnect() → _teardown → sink.shutdown() → server.stop() → httpd.shutdown(), all synchronous. Measured here: 450 ms of frozen window, now 10 ms. The cost is 100 select() wakeups a second instead of 2, on a thread that only exists for the life of a cast session. Found uncommitted in the working tree, left over from the cast round. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G4Z46BMQYS57bcbxWbSS3C
4 lines
100 B
Python
4 lines
100 B
Python
"""LinTunes — iTunes-style music library manager and player for Linux."""
|
|
|
|
__version__ = "0.10.1"
|