aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2025-02-28 19:49:34 +0800
committerPo Lu2025-02-28 19:54:46 +0800
commit8df582a46836e312ef3bfc36c8038b5f4a2c0d9b (patch)
tree752e9136202a8bfaa81000078a5a15e14d919d3e /java
parent8b9194ae03214dd5169bd84f7d83bbe660dd9f90 (diff)
downloademacs-8df582a46836e312ef3bfc36c8038b5f4a2c0d9b.tar.gz
emacs-8df582a46836e312ef3bfc36c8038b5f4a2c0d9b.zip
Fully support Lisp threads on Android
* src/android.c (struct android_thread_event_queue): New structure. Move global pselect arguments, mutexes, and semaphores, and pipes here. (struct android_event_queue) <select_mutex, select_thread>: Remove to the above-named struct. (android_init_thread_events, android_finalize_thread_events) (android_get_poll_thread): New functions. (android_run_select_thread): Accept a set of mutexes and thread-local data as the first argument, and operate with them rather than globals. (android_handle_sigusr1): Rename to `android_handle_poll_signal'. Set thread-specific cancellation indicator. (android_init_events): Properly abort after a fatal condition. Enable interruptible polling on Android 5.1 and later, not 4.2. (android_select): Never check for queries here, but in thread_select, if threads are enabled. Adapt to per-thread polling threads and only enable interruptible polling on Android 5.1 and later. (android_before_select): New function. * src/android.h (android_before_select): New declaration. * src/thread.c (thread_select): Call `android_before_select' before the global lock is released.
Diffstat (limited to 'java')
0 files changed, 0 insertions, 0 deletions