Update.
2002-12-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE macros instead of doing the calls directly. * sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules. * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-% targets. 2002-12-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/fpu/bits/mathinline.h: Backout last change. * sysdeps/ieee754/bits/nan.h: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open, __syscall_wait4, __syscall_ioctl, __syscall_write): Add.
This commit is contained in:
parent
e150fddc7c
commit
9634cf9d4f
16
ChangeLog
16
ChangeLog
@ -1,3 +1,19 @@
|
|||||||
|
2002-12-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE
|
||||||
|
macros instead of doing the calls directly.
|
||||||
|
* sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules.
|
||||||
|
* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-%
|
||||||
|
targets.
|
||||||
|
|
||||||
|
2002-12-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/i386/fpu/bits/mathinline.h: Backout last change.
|
||||||
|
* sysdeps/ieee754/bits/nan.h: Likewise.
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open,
|
||||||
|
__syscall_wait4, __syscall_ioctl, __syscall_write): Add.
|
||||||
|
|
||||||
2002-12-16 Roland McGrath <roland@redhat.com>
|
2002-12-16 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* sunrpc/xdr_mem.c (xdrmem_inline): Fix argument type.
|
* sunrpc/xdr_mem.c (xdrmem_inline): Fix argument type.
|
||||||
|
12
Makerules
12
Makerules
@ -263,26 +263,38 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \
|
|||||||
\$$(compile-command.S)"; \
|
\$$(compile-command.S)"; \
|
||||||
echo "\$$(objpfx)rtld-%$$o: $$dir/%.s \$$(before-compile); \
|
echo "\$$(objpfx)rtld-%$$o: $$dir/%.s \$$(before-compile); \
|
||||||
\$$(compile-command.s)"; \
|
\$$(compile-command.s)"; \
|
||||||
|
echo "\$$(objpfx)ptw-%$$o: $$dir/%.S \$$(before-compile); \
|
||||||
|
\$$(compile-command.S)"; \
|
||||||
|
echo "\$$(objpfx)ptw-%$$o: $$dir/%.s \$$(before-compile); \
|
||||||
|
\$$(compile-command.s)"; \
|
||||||
$(close-check-inhibit-asm) \
|
$(close-check-inhibit-asm) \
|
||||||
echo "\$$(objpfx)%$$o: $$dir/%.c \$$(before-compile); \
|
echo "\$$(objpfx)%$$o: $$dir/%.c \$$(before-compile); \
|
||||||
\$$(compile-command.c)"; \
|
\$$(compile-command.c)"; \
|
||||||
echo "\$$(objpfx)rtld-%$$o: $$dir/%.c \$$(before-compile); \
|
echo "\$$(objpfx)rtld-%$$o: $$dir/%.c \$$(before-compile); \
|
||||||
\$$(compile-command.c)"; \
|
\$$(compile-command.c)"; \
|
||||||
|
echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \
|
||||||
|
\$$(compile-command.c)"; \
|
||||||
done; \
|
done; \
|
||||||
$(open-check-inhibit-asm) \
|
$(open-check-inhibit-asm) \
|
||||||
echo "\$$(objpfx)%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \
|
echo "\$$(objpfx)%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \
|
||||||
\$$(make-dummy-dep)"; \
|
\$$(make-dummy-dep)"; \
|
||||||
echo "\$$(objpfx)rtld-%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \
|
echo "\$$(objpfx)rtld-%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \
|
||||||
\$$(make-dummy-dep)"; \
|
\$$(make-dummy-dep)"; \
|
||||||
|
echo "\$$(objpfx)ptw-%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \
|
||||||
|
\$$(make-dummy-dep)"; \
|
||||||
echo "\$$(objpfx)%.d: $$dir/%.S \$$(before-compile); \
|
echo "\$$(objpfx)%.d: $$dir/%.S \$$(before-compile); \
|
||||||
\$$(+make-deps)"; \
|
\$$(+make-deps)"; \
|
||||||
echo "\$$(objpfx)rtld-%.d: $$dir/%.S \$$(before-compile); \
|
echo "\$$(objpfx)rtld-%.d: $$dir/%.S \$$(before-compile); \
|
||||||
\$$(+make-deps)"; \
|
\$$(+make-deps)"; \
|
||||||
|
echo "\$$(objpfx)ptw-%.d: $$dir/%.S \$$(before-compile); \
|
||||||
|
\$$(+make-deps)"; \
|
||||||
$(close-check-inhibit-asm) \
|
$(close-check-inhibit-asm) \
|
||||||
echo "\$$(objpfx)%.d: $$dir/%.c \$$(before-compile); \
|
echo "\$$(objpfx)%.d: $$dir/%.c \$$(before-compile); \
|
||||||
\$$(+make-deps)"; \
|
\$$(+make-deps)"; \
|
||||||
echo "\$$(objpfx)rtld-%.d: $$dir/%.c \$$(before-compile); \
|
echo "\$$(objpfx)rtld-%.d: $$dir/%.c \$$(before-compile); \
|
||||||
\$$(+make-deps)"; \
|
\$$(+make-deps)"; \
|
||||||
|
echo "\$$(objpfx)ptw-%.d: $$dir/%.c \$$(before-compile); \
|
||||||
|
\$$(+make-deps)"; \
|
||||||
echo "\$$(objpfx)m_%.S: $$dir/s_%.S; \$$(+make-include-of-dep)"; \
|
echo "\$$(objpfx)m_%.S: $$dir/s_%.S; \$$(+make-include-of-dep)"; \
|
||||||
echo "\$$(objpfx)m_%.c: $$dir/s_%.c; \$$(+make-include-of-dep)"; \
|
echo "\$$(objpfx)m_%.c: $$dir/s_%.c; \$$(+make-include-of-dep)"; \
|
||||||
done; \
|
done; \
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
2002-12-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* libc-cancellation.c: Guard both function with
|
||||||
|
#if !defined NOT_IN_libc.
|
||||||
|
* Makefile (libpthread-routines): Use ptw-, not pt- prefix for the
|
||||||
|
automatically provided pthread wrappers.
|
||||||
|
* pthreadP.h (LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET): Define to
|
||||||
|
CANCEL_* if IS_IN_libpthread and to dummy versions if not in libc
|
||||||
|
nor in libpthread.
|
||||||
|
* pt-open.c: Removed.
|
||||||
|
* pt-fcntl.c: Removed.
|
||||||
|
* pt-fsync.c: Removed.
|
||||||
|
* pt-lseek.c: Removed.
|
||||||
|
* pt-msgrcv.c: Removed.
|
||||||
|
* pt-msgsnd.c: Removed.
|
||||||
|
* pt-msync.c: Removed.
|
||||||
|
* pt-nanosleep.c: Removed.
|
||||||
|
* pt-open64.c: Removed.
|
||||||
|
* pt-pause.c: Removed.
|
||||||
|
* pt-pread.c: Removed.
|
||||||
|
* pt-pread64.c: Removed.
|
||||||
|
* pt-pwrite.c: Removed.
|
||||||
|
* pt-pwrite64.c: Removed.
|
||||||
|
* pt-read.c: Removed.
|
||||||
|
* pt-recv.c: Removed.
|
||||||
|
* pt-recvfrom.c: Removed.
|
||||||
|
* pt-recvmsg.c: Removed.
|
||||||
|
* pt-send.c: Removed.
|
||||||
|
* pt-sendto.c: Removed.
|
||||||
|
* pt-sigtimedwait.c: Removed.
|
||||||
|
* pt-sigwait.c: Removed.
|
||||||
|
* pt-wait.c: Removed.
|
||||||
|
* pt-waitpid.c: Removed.
|
||||||
|
* pt-write.c: Removed.
|
||||||
|
* pt-accept.c: Removed.
|
||||||
|
* pt-close.c: Removed.
|
||||||
|
* pt-connect.c: Removed.
|
||||||
|
* pt-lseek64.c: Removed.
|
||||||
|
* pt-sendmsg.c: Removed.
|
||||||
|
* pt-tcdrain.c: Removed.
|
||||||
|
|
||||||
2002-12-15 Ulrich Drepper <drepper@redhat.com>
|
2002-12-15 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* init.c (__pthread_initialize_minimal_internal): Renamed from
|
* init.c (__pthread_initialize_minimal_internal): Renamed from
|
||||||
|
@ -94,13 +94,14 @@ libpthread-routines = init events \
|
|||||||
lowlevellock lowlevelmutex lowlevelcond lowlevelrwlock \
|
lowlevellock lowlevelmutex lowlevelcond lowlevelrwlock \
|
||||||
lowlevelsem \
|
lowlevelsem \
|
||||||
pt-vfork \
|
pt-vfork \
|
||||||
pt-write pt-read pt-close pt-fcntl pt-accept pt-connect \
|
ptw-write ptw-read ptw-close ptw-fcntl ptw-accept \
|
||||||
pt-recv pt-recvfrom pt-recvmsg pt-send pt-sendmsg \
|
ptw-connect ptw-recv ptw-recvfrom ptw-recvmsg ptw-send \
|
||||||
pt-sendto pt-fsync pt-lseek pt-lseek64 pt-msync \
|
ptw-sendmsg ptw-sendto ptw-fsync ptw-lseek ptw-llseek \
|
||||||
pt-nanosleep pt-open pt-open64 pt-pause pt-pread \
|
ptw-msync ptw-nanosleep ptw-open ptw-open64 ptw-pause \
|
||||||
pt-pread64 pt-pwrite pt-pwrite64 pt-tcdrain pt-system \
|
ptw-pread ptw-pread64 ptw-pwrite ptw-pwrite64 \
|
||||||
pt-wait pt-waitpid pt-msgrcv pt-msgsnd pt-sigwait \
|
ptw-tcdrain ptw-wait ptw-waitpid ptw-msgrcv ptw-msgsnd \
|
||||||
pt-raise \
|
ptw-sigwait \
|
||||||
|
pt-raise pt-system \
|
||||||
flockfile ftrylockfile funlockfile \
|
flockfile ftrylockfile funlockfile \
|
||||||
sigaction \
|
sigaction \
|
||||||
herrno res pt-allocrtsig \
|
herrno res pt-allocrtsig \
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
#include "atomic.h"
|
#include "atomic.h"
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined NOT_IN_libc
|
||||||
|
|
||||||
/* The next two functions are similar to pthread_setcanceltype() but
|
/* The next two functions are similar to pthread_setcanceltype() but
|
||||||
more specialized for the use in the cancelable functions like write().
|
more specialized for the use in the cancelable functions like write().
|
||||||
They do not need to check parameters etc. */
|
They do not need to check parameters etc. */
|
||||||
@ -82,3 +84,5 @@ __libc_disable_asynccancel (int oldtype)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
accept (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
int result = __libc_accept (fd, addr, addr_len);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,42 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
__close (int fd)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (close, 1, fd);
|
|
||||||
#else
|
|
||||||
int result = __libc_close (fd);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__close, close)
|
|
@ -1,38 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
__connect (int fd, __CONST_SOCKADDR_ARG addr, socklen_t addr_len)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
int result = __libc_connect (fd, addr, addr_len);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__connect, connect)
|
|
@ -1,53 +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 <stdarg.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
__fcntl (int fd, int cmd, ...)
|
|
||||||
{
|
|
||||||
int oldtype = 0;
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
if (cmd == F_SETLKW)
|
|
||||||
oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
va_start (ap, cmd);
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (fcntl64, 3, fd, cmd, va_arg (ap, long int));
|
|
||||||
#else
|
|
||||||
int result = __libc_fcntl (fd, cmd, va_arg (ap, long int));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
va_end (ap);
|
|
||||||
|
|
||||||
if (cmd == F_SETLKW)
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__fcntl, fcntl)
|
|
@ -1,41 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
fsync (int fd)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (fsync, 1, fd);
|
|
||||||
#else
|
|
||||||
int result = __libc_fsync (fd);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,42 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
off_t
|
|
||||||
__lseek (int fd, off_t offset, int whence)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
off_t result = INLINE_SYSCALL (lseek, 3, fd, offset, whence);
|
|
||||||
#else
|
|
||||||
off_t result = __libc_lseek (fd, offset, whence);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__lseek, lseek)
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
off64_t
|
|
||||||
lseek64 (int fd, off64_t offset, int whence)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
off64_t result = __libc_lseek64 (fd, offset, whence);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/msg.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
int result = __libc_msgrcv (msqid, msgp, msgsz, msgtyp, msgflg);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,43 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/msg.h>
|
|
||||||
#include <ipc_priv.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#if defined INLINE_SYSCALL && defined __NR_ipc
|
|
||||||
int result = INLINE_SYSCALL (ipc, 5, IPCOP_msgsnd, msqid, msgsz,
|
|
||||||
msgflg, (void *) msgp);
|
|
||||||
#else
|
|
||||||
int result = __libc_msgsnd (msqid, msgp, msgsz, msgflg);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,41 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/mman.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
msync (void *addr, size_t length, int flags)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (msync, 3, addr, length, flags);
|
|
||||||
#else
|
|
||||||
int result = __libc_msync (addr, length, flags);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,42 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
__nanosleep (const struct timespec *requested_time, struct timespec *remaining)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (nanosleep, 2, requested_time, remaining);
|
|
||||||
#else
|
|
||||||
int result = __libc_nanosleep (requested_time, remaining);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__nanosleep, nanosleep)
|
|
@ -1,51 +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 <stdlib.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
__open (const char *pathname, int flags, ...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
va_start (ap, flags);
|
|
||||||
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (open, 3, pathname, flags,
|
|
||||||
va_arg (ap, __typeof ((mode_t) 0 + 0)));
|
|
||||||
#else
|
|
||||||
int result = __libc_open (pathname, flags,
|
|
||||||
va_arg (ap, __typeof ((mode_t) 0 + 0)));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
va_end (ap);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__open, open)
|
|
@ -1,52 +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 <stdarg.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
__open64 (const char *pathname, int flags, ...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
va_start (ap, flags);
|
|
||||||
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#if defined INLINE_SYSCALL && defined O_LARGEFILE
|
|
||||||
int result = INLINE_SYSCALL (open, 3, pathname, flags | O_LARGEFILE,
|
|
||||||
va_arg (ap, __typeof ((mode_t) 0 + 0)));
|
|
||||||
#else
|
|
||||||
int result = __libc_open64 (pathname, flags,
|
|
||||||
va_arg (ap, __typeof ((mode_t) 0 + 0)));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
va_end (ap);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__open64, open64)
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
pause (void)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
int result = __libc_pause ();
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
pread (int fd, void *buf, size_t count, off_t offset)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_pread (fd, buf, count, offset);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,38 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
__pread64 (int fd, void *buf, size_t count, off64_t offset)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_pread64 (fd, buf, count, offset);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__pread64, pread64)
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
pwrite (int fd, const void *buf, size_t count, off_t offset)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_pwrite (fd, buf, count, offset);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,38 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
__pwrite64 (int fd, const void *buf, size_t count, off64_t offset)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_pwrite64 (fd, buf, count, offset);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__pwrite64, pwrite64)
|
|
@ -1,42 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
__read (int fd, void *buf, size_t count)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
ssize_t result = INLINE_SYSCALL (read, 3, fd, buf, count);
|
|
||||||
#else
|
|
||||||
ssize_t result = __libc_read (fd, buf, count);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__read, read)
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
recv (int fd, __ptr_t buf, size_t n, int flags)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_recv (fd, buf, n, flags);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,38 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
recvfrom (int fd, __ptr_t buf, size_t n, int flags, __SOCKADDR_ARG addr,
|
|
||||||
socklen_t *addr_len)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_recvfrom (fd, buf, n, flags, addr, addr_len);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
recvmsg (int fd, struct msghdr *message, int flags)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_recvmsg (fd, message, flags);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,38 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
__send (int fd, const __ptr_t buf, size_t n, int flags)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_send (fd, buf, n, flags);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__send, send)
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
sendmsg (int fd, const struct msghdr *message, int flags)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_sendmsg (fd, message, flags);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,38 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
sendto (int fd, const __ptr_t buf, size_t n, int flags,
|
|
||||||
__CONST_SOCKADDR_ARG addr, socklen_t addr_len)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
ssize_t result = __libc_sendto (fd, buf, n, flags, addr, addr_len);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,43 +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 <unistd.h>
|
|
||||||
#include <signal.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
sigtimedwait (const sigset_t *set, siginfo_t *info,
|
|
||||||
const struct timespec *timeout)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, timeout,
|
|
||||||
_NSIG / 8);
|
|
||||||
#else
|
|
||||||
int result = __sigtimedwait (set, info, timeout);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,58 +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 <unistd.h>
|
|
||||||
#include <signal.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
sigwait (const sigset_t *set, int *sig)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INTERNAL_SYSCALL
|
|
||||||
int result = INTERNAL_SYSCALL (rt_sigtimedwait, 4, set, NULL, NULL,
|
|
||||||
_NSIG / 8);
|
|
||||||
if (! INTERNAL_SYSCALL_ERROR_P (result))
|
|
||||||
{
|
|
||||||
*sig = result;
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
result = INTERNAL_SYSCALL_ERRNO (result);
|
|
||||||
#elif defined INLINE_SYSCALL
|
|
||||||
int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set, NULL, NULL, _NSIG / 8);
|
|
||||||
if (result != -1)
|
|
||||||
{
|
|
||||||
*sig = result;
|
|
||||||
result = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
result = errno;
|
|
||||||
#else
|
|
||||||
int result = __sigwait (set, sig);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <termios.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
tcdrain (int fd)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
int result = __libc_tcdrain (fd);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,38 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
pid_t
|
|
||||||
__wait (__WAIT_STATUS_DEFN stat_loc)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
pid_t result = __libc_wait (stat_loc);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__wait, wait)
|
|
@ -1,37 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
pid_t
|
|
||||||
waitpid (pid_t pid, int *stat_loc, int options)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
pid_t result = __libc_waitpid (pid, stat_loc, options);
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,42 +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 <stdlib.h>
|
|
||||||
#include <sysdep.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include "pthreadP.h"
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
|
||||||
__write (int fd, const void *buf, size_t count)
|
|
||||||
{
|
|
||||||
int oldtype = CANCEL_ASYNC ();
|
|
||||||
|
|
||||||
#ifdef INLINE_SYSCALL
|
|
||||||
ssize_t result = INLINE_SYSCALL (write, 3, fd, buf, count);
|
|
||||||
#else
|
|
||||||
ssize_t result = __libc_write (fd, buf, count);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CANCEL_RESET (oldtype);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
strong_alias (__write, write)
|
|
@ -129,12 +129,20 @@ extern struct pthread_functions __libc_pthread_functions attribute_hidden;
|
|||||||
#define CANCEL_RESET(oldtype) \
|
#define CANCEL_RESET(oldtype) \
|
||||||
__pthread_disable_asynccancel (oldtype)
|
__pthread_disable_asynccancel (oldtype)
|
||||||
|
|
||||||
|
#if !defined NOT_IN_libc
|
||||||
/* Same as CANCEL_ASYNC, but for use in libc.so. */
|
/* Same as CANCEL_ASYNC, but for use in libc.so. */
|
||||||
# define LIBC_CANCEL_ASYNC() \
|
# define LIBC_CANCEL_ASYNC() \
|
||||||
__libc_enable_asynccancel ()
|
__libc_enable_asynccancel ()
|
||||||
/* Same as CANCEL_RESET, but for use in libc.so. */
|
/* Same as CANCEL_RESET, but for use in libc.so. */
|
||||||
# define LIBC_CANCEL_RESET(oldtype) \
|
# define LIBC_CANCEL_RESET(oldtype) \
|
||||||
__libc_disable_asynccancel (oldtype)
|
__libc_disable_asynccancel (oldtype)
|
||||||
|
#elif defined NOT_IN_libc && defined IS_IN_libpthread
|
||||||
|
# define LIBC_CANCEL_ASYNC() CANCEL_ASYNC ()
|
||||||
|
# define LIBC_CANCEL_RESET(val) CANCEL_RESET (val)
|
||||||
|
#else
|
||||||
|
# define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
|
||||||
|
# define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* This function is responsible for calling all registered cleanup
|
/* This function is responsible for calling all registered cleanup
|
||||||
|
@ -134,6 +134,7 @@ shared-only-routines += $file
|
|||||||
*)
|
*)
|
||||||
echo "\
|
echo "\
|
||||||
\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o) \
|
\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o) \
|
||||||
|
\$(foreach o,\$(object-suffixes),\$(objpfx)ptw-$file\$o) \
|
||||||
\$(objpfx)rtld-$file.os: \\"
|
\$(objpfx)rtld-$file.os: \\"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -76,7 +76,7 @@ L(pseudo_end):
|
|||||||
1: pushl %esi
|
1: pushl %esi
|
||||||
|
|
||||||
/* Enable asynchronous cancellation. */
|
/* Enable asynchronous cancellation. */
|
||||||
call __libc_enable_asynccancel /* No @plt */
|
CENABLE
|
||||||
movl %eax, %esi
|
movl %eax, %esi
|
||||||
|
|
||||||
/* Save registers. */
|
/* Save registers. */
|
||||||
@ -93,7 +93,7 @@ L(pseudo_end):
|
|||||||
|
|
||||||
/* Restore the cancellation. */
|
/* Restore the cancellation. */
|
||||||
xchgl %esi, %eax
|
xchgl %esi, %eax
|
||||||
call __libc_disable_asynccancel /* No @plt */
|
CDISABLE
|
||||||
|
|
||||||
/* Restore registers. */
|
/* Restore registers. */
|
||||||
movl %esi, %eax
|
movl %esi, %eax
|
||||||
|
@ -81,6 +81,10 @@ s_stat xstat stat i:sp __syscall_stat
|
|||||||
s_lstat lxstat lstat i:sp __syscall_lstat
|
s_lstat lxstat lstat i:sp __syscall_lstat
|
||||||
s_fstat fxstat fstat i:ip __syscall_fstat
|
s_fstat fxstat fstat i:ip __syscall_fstat
|
||||||
s_sysctl sysctl _sysctl i:p __syscall__sysctl
|
s_sysctl sysctl _sysctl i:p __syscall__sysctl
|
||||||
|
s_open open open i:siv __syscall_open
|
||||||
|
s_wait4 wait4 wait4 i:iWiP __syscall_wait4
|
||||||
|
s_ioctl ioctl ioctl i:iiI __syscall_ioctl
|
||||||
|
s_write write write i:ibn __syscall_write
|
||||||
|
|
||||||
# IA-64 specific
|
# IA-64 specific
|
||||||
getunwind EXTRA getunwind i:pi getunwind
|
getunwind EXTRA getunwind i:pi getunwind
|
||||||
|
Loading…
x
Reference in New Issue
Block a user