mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-14 15:56:13 +03:00

Fixes #7724 Background at the end of the commit message. The fix in libxev is described in the PR and commit we pin to here, but basically we swap read for poll for eventfd/timerfd. From Jens Axboe on X: > This will fix it: https://pastebin.com/n7JSZWpW which makes me suspicious > that it's an S_IFREG check somewhere else, as anon inodes are now listed as > regular files. Has potentially pretty broad implications... > I think I can already answer why that breaks things - io_uring checks if > this is a regular file, and if it is, it doesn't do short reads. Short > reads on regular files (or a bdev) will cause application issues, as > basically nobody expects them. > Now we have what acts like a char dev, but where io_uring will retry IO > because the application asked for more data than what was delivered. This > will cause the weird slowdowns as data isn't delivered as soon as it's > available.