X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Funistd%2Fclose.c;h=5b38e0194606cf22e0663df576e73b4249b6a0f9;hb=4f893997e4738faf6dde8320b304298340f51cd2;hp=231f79ef699cfdeedf72cc42505602d1a1ad7e2f;hpb=feee98903cd8119d9a3db62589246a940f44a9f5;p=musl diff --git a/src/unistd/close.c b/src/unistd/close.c index 231f79ef..5b38e019 100644 --- a/src/unistd/close.c +++ b/src/unistd/close.c @@ -1,10 +1,18 @@ #include +#include #include "syscall.h" -#include "libc.h" + +static int dummy(int fd) +{ + return fd; +} + +weak_alias(dummy, __aio_close); int close(int fd) { - int ret = syscall_cp(SYS_close, fd); - if (libc.testcancel) libc.testcancel(); - return ret; + fd = __aio_close(fd); + int r = __syscall_cp(SYS_close, fd); + if (r == -EINTR) r = 0; + return __syscall_ret(r); }