diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2017-07-16 11:34:54 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2017-07-28 18:52:38 +0200 |
commit | dcbff4072b6b3e79d768e50c2d58ccc8e307b1bd (patch) | |
tree | 4a8f192ea3726c5e8ee04f060615854275cf08c2 /libpthread/nptl/sysdeps/unix/sysv/linux/creat.c | |
parent | ccc200d454c712f6e8bfadb4b7c3ee58086d8f2b (diff) |
nptl: remove sysdep-cancel ASM macros, convert to C
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux/creat.c')
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/creat.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/creat.c b/libpthread/nptl/sysdeps/unix/sysv/linux/creat.c new file mode 100644 index 000000000..a4c7c68e1 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/creat.c @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017 Waldemar Brodkorb <wbx@uclibc-ng.org> + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#include <fcntl.h> +#include <sys/types.h> +#include <cancel.h> + +int +creat (const char *file, mode_t mode) +{ +# ifdef __NR_creat + return _syscall2(int, __NC(creat), const char*, file, mode_t, mode) +# else + return __open (file, O_WRONLY | O_CREAT | O_TRUNC, mode); +# endif +} + +CANCELLABLE_SYSCALL(int, creat, (const char *file, mode_t mode), (file, mode)) + +lt_libc_hidden(creat) |