diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-05-25 05:21:07 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-05-25 05:21:07 +0000 |
commit | 0a54ab53f2bbbd380b019dc665047fb3acf37e3a (patch) | |
tree | cb9ed7fadb5d0b66c121ac42ab2c1b62d67a6b2e /sysdeps/unix | |
parent | ddfd0535776c47ec01231ac91fabe8b2e128cfa3 (diff) | |
download | glibc-0a54ab53f2bbbd380b019dc665047fb3acf37e3a.zip glibc-0a54ab53f2bbbd380b019dc665047fb3acf37e3a.tar.gz glibc-0a54ab53f2bbbd380b019dc665047fb3acf37e3a.tar.bz2 |
* sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.
(THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED,
THREAD_GSCOPE_FLAG_WAIT): Define.
(THREAD_GSCOPE_GET_FLAG, THREAD_GSCOPE_SET_FLAG,
THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define.
* sysdeps/i386/tls.h (THREAD_GSCOPE_WAIT): Don't use
PTR_DEMANGLE.
(THREAD_GSCOPE_GET_FLAG): Define.
* sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Define.
* allocatestack.c (__wait_lookup_done): Use THREAD_GSCOPE_GET_FLAG
instead of ->header.gscope_flag directly.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/open64.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/open64.c b/sysdeps/unix/sysv/linux/open64.c index a38a31b..c52ce39 100644 --- a/sysdeps/unix/sysv/linux/open64.c +++ b/sysdeps/unix/sysv/linux/open64.c @@ -63,6 +63,15 @@ __open64_2 (file, oflag) if (oflag & O_CREAT) __fortify_fail ("invalid open64 call: O_CREAT without mode"); - return __open64 (file, oflag); + if (SINGLE_THREAD_P) + return INLINE_SYSCALL (open, 2, file, oflag | O_LARGEFILE); + + int oldtype = LIBC_CANCEL_ASYNC (); + + int result = INLINE_SYSCALL (open, 2, file, oflag | O_LARGEFILE); + + LIBC_CANCEL_RESET (oldtype); + + return result; } #endif |