X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Funistd%2Fclose.c;h=fa3c6cab7e9813ad280329bfd7ebf45cb738c321;hb=2fab90a71acd3698954c08b9062db67188443dd7;hp=231f79ef699cfdeedf72cc42505602d1a1ad7e2f;hpb=feee98903cd8119d9a3db62589246a940f44a9f5;p=musl diff --git a/src/unistd/close.c b/src/unistd/close.c index 231f79ef..fa3c6cab 100644 --- a/src/unistd/close.c +++ b/src/unistd/close.c @@ -1,10 +1,19 @@ #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); }