3391a9ff13
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
27 lines
397 B
ArmAsm
27 lines
397 B
ArmAsm
/* Generated by gensyscalls.py. Do not edit. */
|
|
|
|
#include <private/bionic_asm.h>
|
|
|
|
ENTRY(___close)
|
|
.set push
|
|
.set noreorder
|
|
li v0, __NR_close
|
|
syscall
|
|
bnez a3, 1f
|
|
move a0, v0
|
|
j ra
|
|
nop
|
|
1:
|
|
move t0, ra
|
|
bal 2f
|
|
nop
|
|
2:
|
|
.cpsetup ra, t1, 2b
|
|
LA t9,__set_errno_internal
|
|
.cpreturn
|
|
j t9
|
|
move ra, t0
|
|
.set pop
|
|
END(___close)
|
|
.hidden ___close
|