diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-12-15 01:00:22 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-12-15 01:00:22 +0000 |
commit | 86b2dc4072725edb69ec4b872f9fcd17a4554b74 (patch) | |
tree | fcc7abb285572b9e539af7b4c324806a0364daf2 /nptl/sysdeps/unix/sysv/linux/open.c | |
parent | 9d263d72848fb561e104a21da3ffccf791078f2a (diff) | |
download | glibc-86b2dc4072725edb69ec4b872f9fcd17a4554b74.tar.gz glibc-86b2dc4072725edb69ec4b872f9fcd17a4554b74.tar.xz glibc-86b2dc4072725edb69ec4b872f9fcd17a4554b74.zip |
Update.
* sysdeps/generic/sysdep-cancel.h: New file. * sysdeps/unix/make-syscalls.sh: Handle C at start of args as cancelable syscall. * sysdeps/unix/inet/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Make cancelable. * sysdeps/unix/mman/syscalls.list (msync): Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto, osf_select): Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto, select): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (llseek, pread, pwrite, accept, connect, recvfrom, recvmsg, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/syscalls.list (creat, nanosleep, pause, select, fcntl): Likewise. * sysdeps/unix/sysv/syscalls.list (pause, poll): Likewise. * sysdeps/unix/syscalls.list (close, fcntl, fsync, lseek, open, read, readv, select, sigsuspend, write, writev): Likewise. 2002-12-14 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/open.c')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/open.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/open.c b/nptl/sysdeps/unix/sysv/linux/open.c deleted file mode 100644 index f0f95c1b60..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/open.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <fcntl.h> -#include <stdlib.h> -#include <sysdep.h> -#include <stdarg.h> -#include <unistd.h> -#include <nptl/pthreadP.h> -#include <tls.h> - - -int -__libc_open (const char *file, int oflag, ...) -{ - int mode = 0; - - if (oflag & O_CREAT) - { - va_list arg; - va_start (arg, oflag); - mode = va_arg (arg, int); - va_end (arg); - } - -#ifndef NOT_IN_libc - if (__builtin_expect (THREAD_GETMEM (THREAD_SELF, - header.data.multiple_threads) == 0, 1)) - return INLINE_SYSCALL (open, 3, file, oflag, mode); - - int oldtype = LIBC_CANCEL_ASYNC (); -#endif - - int result = INLINE_SYSCALL (open, 3, file, oflag, mode); - -#ifndef NOT_IN_libc - LIBC_CANCEL_RESET (oldtype); -#endif - - return result; -} -libc_hidden_def (__libc_open) -strong_alias (__libc_open, __open) -libc_hidden_weak (__open) -weak_alias (__libc_open, open) |