summaryrefslogtreecommitdiffstats
path: root/libc/arch-arm/syscalls/close.S
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-04-22 21:40:38 -0700
committerElliott Hughes <enh@google.com>2015-04-23 08:41:45 -0700
commit3391a9ff139d57fe4f8a2ff2d81a5ddc230a6208 (patch)
tree310c54610766a838a0569f8e44b33e7805b2d42c /libc/arch-arm/syscalls/close.S
parentff18108981aa1fa73696d6db1919cdc38788bd4e (diff)
downloadbionic-3391a9ff139d57fe4f8a2ff2d81a5ddc230a6208.zip
bionic-3391a9ff139d57fe4f8a2ff2d81a5ddc230a6208.tar.gz
bionic-3391a9ff139d57fe4f8a2ff2d81a5ddc230a6208.tar.bz2
Simplify close(2) EINTR handling.
This doesn't affect code like Chrome that correctly ignores EINTR on close, makes code that tries TEMP_FAILURE_RETRY work (where before it might have closed a different fd and appeared to succeed, or had a bogus EBADF), and makes "goto fail" code work (instead of mistakenly assuming that EINTR means that the close failed). Who loses? Anyone actively trying to detect that they caught a signal while in close(2). I don't think those people exist, and I think they have better alternatives available. Bug: https://code.google.com/p/chromium/issues/detail?id=269623 Bug: http://b/20501816 Change-Id: I11e2f66532fe5d1b0082b2433212e24bdda8219b
Diffstat (limited to 'libc/arch-arm/syscalls/close.S')
-rw-r--r--libc/arch-arm/syscalls/close.S14
1 files changed, 0 insertions, 14 deletions
diff --git a/libc/arch-arm/syscalls/close.S b/libc/arch-arm/syscalls/close.S
deleted file mode 100644
index ec05445..0000000
--- a/libc/arch-arm/syscalls/close.S
+++ /dev/null
@@ -1,14 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <private/bionic_asm.h>
-
-ENTRY(close)
- mov ip, r7
- ldr r7, =__NR_close
- swi #0
- mov r7, ip
- cmn r0, #(MAX_ERRNO + 1)
- bxls lr
- neg r0, r0
- b __set_errno_internal
-END(close)