]> git.eshelyaron.com Git - emacs.git/commit
Allow quitting from Android content provider operations
authorPo Lu <luangruo@yahoo.com>
Fri, 28 Jul 2023 07:19:37 +0000 (15:19 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 28 Jul 2023 07:19:37 +0000 (15:19 +0800)
commit0709e03f88cdef8f785338cab9315b527db0854e
treee4f81f91e0f2e18bb60e75aa9cb3d0c61ac4bb8e
parent03cf3bbb5c38aa55abd6f7d4860025f7482fcfc3
Allow quitting from Android content provider operations

* doc/emacs/android.texi (Android Document Providers): Say that
quitting is now possible.
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
functions `safSyncAndReadInput', `safync' and `safPostRequest'.
* java/org/gnu/emacs/EmacsSafThread.java: New file.  Move
cancel-able SAF operations here.
* java/org/gnu/emacs/EmacsService.java (EmacsService): Allow
quitting from most SAF operations.
* src/androidvfs.c (android_saf_exception_check): Return EINTR
if OperationCanceledException is received.
(android_saf_stat, android_saf_access)
(android_document_id_from_name, android_saf_tree_opendir_1)
(android_saf_file_open): Don't allow reentrant calls from async
input handlers.
(NATIVE_NAME): Implement new synchronization primitives for JNI.
(android_vfs_init): Initialize new class.

* src/dired.c (open_directory): Handle EINTR from opendir.
* src/sysdep.c: Describe which operations may return EINTR on
Android.
doc/emacs/android.texi
java/org/gnu/emacs/EmacsNative.java
java/org/gnu/emacs/EmacsSafThread.java [new file with mode: 0644]
java/org/gnu/emacs/EmacsService.java
src/androidvfs.c
src/dired.c
src/sysdep.c