diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-10-13 16:55:45 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-10-13 16:55:45 +0300 |
| commit | efca84e8b5204c4d5ce28113474df0bf0b67dbf3 (patch) | |
| tree | 8ab6ed74f1e29b3a9dd3f1b2cb031c81891a5902 /src/platform/wayland/protocols/text-input-unstable-v3-client-protocol.h | |
| parent | 62717de20d2a0c8d3596a9223e56e734971e3ec5 (diff) | |
Wake and post to loops from any thread, and watch signals
wsap_term runs its own eventfds to wake the loop from its pty worker and
accessibility threads, and its own signalfd or self-pipe per platform.
yasl_loop_kick() is now documented as safe from any thread and from a
signal handler. yasl_loop_post() queues a function to run on the owning
thread during a later step. yasl_loop_watch_signals() installs a
process-wide SA_RESTART handler per signal that records the signal and
kicks the loop, so callbacks run on the loop thread on every platform
without touching thread masks.
Cocoa dispatch waited only for AppKit events, so kicks, posts, and fd
watches could not end an indefinite wait, and yasl_post_event() did not
wake yasl_run(). While waiting, Cocoa now mirrors the loop's descriptors
in a kqueue whose run loop source posts a wake event. If kqueue rejects a
descriptor, the wait is bounded to 10 ms.
The Cocoa change is not built or run here; it needs a macOS check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'src/platform/wayland/protocols/text-input-unstable-v3-client-protocol.h')
0 files changed, 0 insertions, 0 deletions
