* Versions [libpthread: GLIBC_2.3.2]: Remove creat, poll, pselect,
	readv, select, sigpause, sigsuspend, sigwaitinfo, waitid, writev.
	* Makefile (libpthread-routines): Remove pt-creat, pt-poll,
	pt-pselect, pt-readv, pt-select, pt-sigpause, pt-sigsuspend,
	pt-sigwaitinfo, pt-waitid, and pt-writev.
	* pt-creat.c: Removed.
	* pt-poll.c: Removed.
	* pt-pselect.c: Removed.
	* pt-readv.c: Removed.
	* pt-select.c: Removed.
	* pt-sigpause.c: Removed.
	* pt-sigsuspend.c: Removed.
	* pt-sigwaitinfo.c: Removed.
	* pt-waitid.c: Removed.
	* pt-writev.c: Removed.
This commit is contained in:
Ulrich Drepper 2002-12-15 21:23:04 +00:00
parent 8454830b08
commit 4cbc195033
12 changed files with 18 additions and 475 deletions

View file

@ -1,5 +1,21 @@
2002-12-15 Ulrich Drepper <drepper@redhat.com>
* Versions [libpthread: GLIBC_2.3.2]: Remove creat, poll, pselect,
readv, select, sigpause, sigsuspend, sigwaitinfo, waitid, writev.
* Makefile (libpthread-routines): Remove pt-creat, pt-poll,
pt-pselect, pt-readv, pt-select, pt-sigpause, pt-sigsuspend,
pt-sigwaitinfo, pt-waitid, and pt-writev.
* pt-creat.c: Removed.
* pt-poll.c: Removed.
* pt-pselect.c: Removed.
* pt-readv.c: Removed.
* pt-select.c: Removed.
* pt-sigpause.c: Removed.
* pt-sigsuspend.c: Removed.
* pt-sigwaitinfo.c: Removed.
* pt-waitid.c: Removed.
* pt-writev.c: Removed.
* init.c (pthread_functions): New variable.
(__pthread_initialize_minimal): Pass pointer to pthread_functions
(or NULL) to __libc_pthread_init.

View file

@ -99,10 +99,8 @@ libpthread-routines = init events \
pt-sendto pt-fsync pt-lseek pt-lseek64 pt-msync \
pt-nanosleep pt-open pt-open64 pt-pause pt-pread \
pt-pread64 pt-pwrite pt-pwrite64 pt-tcdrain pt-system \
pt-wait pt-waitpid pt-readv pt-writev pt-creat \
pt-msgrcv pt-msgsnd pt-poll pt-select pt-sigpause \
pt-sigsuspend pt-sigwait pt-sigwaitinfo pt-waitid \
pt-pselect pt-raise \
pt-wait pt-waitpid pt-msgrcv pt-msgsnd pt-sigwait \
pt-raise \
flockfile ftrylockfile funlockfile \
sigaction \
herrno res pt-allocrtsig \

View file

@ -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 <fcntl.h>
#include <stdlib.h>
#include <sysdep.h>
#include <unistd.h>
#include "pthreadP.h"
int
creat (const char *pathname, mode_t mode)
{
int oldtype = CANCEL_ASYNC ();
#if defined INLINE_SYSCALL && defined __NR_creat
int result = INLINE_SYSCALL (creat, 2, pathname, mode);
#else
int result = __libc_open (pathname, O_WRONLY|O_CREAT|O_TRUNC, mode);
#endif
CANCEL_RESET (oldtype);
return result;
}

View file

@ -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/poll.h>
#include "pthreadP.h"
int
poll (struct pollfd *fds, nfds_t nfds, int timeout)
{
int oldtype =CANCEL_ASYNC ();
#ifdef INLINE_SYSCALL
int result = INLINE_SYSCALL (poll, 3, fds, nfds, timeout);
#else
int result = __poll (fds, nfds, timeout);
#endif
CANCEL_RESET (oldtype);
return result;
}

View file

@ -1,39 +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/select.h>
#include "pthreadP.h"
int
pselect (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
const struct timespec *timeout, const sigset_t *sigmask)
{
int oldtype = CANCEL_ASYNC ();
int result = __pselect (nfds, readfds, writefds, exceptfds, timeout,
sigmask);
CANCEL_RESET (oldtype);
return result;
}

View file

@ -1,68 +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/uio.h>
#include "pthreadP.h"
/* Not all versions of the kernel support extremely large numbers
of records. */
#ifndef UIO_FASTIOV
/* 1024 is what the kernels with NPTL support use. */
# define UIO_FASTIOV 1024
#endif
ssize_t
readv (fd, vector, count)
int fd;
const struct iovec *vector;
int count;
{
int oldtype = CANCEL_ASYNC ();
ssize_t result;
#ifdef INTERNAL_SYSCALL
result = INTERNAL_SYSCALL (readv, 3, fd, vector, count);
if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result), 0))
{
if (count <= UIO_FASTIOV)
{
__set_errno (INTERNAL_SYSCALL_ERRNO (result));
result = -1;
}
else
result = __libc_readv (fd, vector, count);
}
#else
# if defined INLINE_SYSCALL
result = INLINE_SYSCALL (readv, 3, fd, vector, count);
if (result < 0 && errno == EINVAL
&& __builtin_expect (count > UIO_FASTIOV, 0))
# endif
result = __libc_readv (fd, vector, count);
#endif
CANCEL_RESET (oldtype);
return result;
}

View file

@ -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 <unistd.h>
#include "pthreadP.h"
int
select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
struct timeval *timeout)
{
int oldtype = CANCEL_ASYNC ();
#if defined INLINE_SYSCALL && defined __NR__newselect
int result = INLINE_SYSCALL (_newselect, 5, nfds, readfds, writefds,
exceptfds, timeout);
#else
int result = __select (nfds, readfds, writefds, exceptfds, timeout);
#endif
CANCEL_RESET (oldtype);
return result;
}

View file

@ -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 <signal.h>
#include <stdlib.h>
#include <sysdep.h>
#include "pthreadP.h"
#undef sigpause
int
sigpause (int mask)
{
int oldtype = CANCEL_ASYNC ();
int result = __sigpause (mask, 0);
CANCEL_RESET (oldtype);
return result;
}
int
__xpg_sigpause (int sig)
{
int oldtype = CANCEL_ASYNC ();
int result = __sigpause (sig, 1);
CANCEL_RESET (oldtype);
return result;
}

View file

@ -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 <unistd.h>
#include <signal.h>
#include <sysdep.h>
#include "pthreadP.h"
int
sigsuspend (const sigset_t *set)
{
int oldtype = CANCEL_ASYNC ();
#ifdef INLINE_SYSCALL
int result = INLINE_SYSCALL (rt_sigsuspend, 2, set, _NSIG / 8);
#else
int result = __sigsuspend (set);
#endif
CANCEL_RESET (oldtype);
return result;
}

View file

@ -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 <unistd.h>
#include <signal.h>
#include <sysdep.h>
#include "pthreadP.h"
int
sigwaitinfo (const sigset_t *set, siginfo_t *info)
{
int oldtype = CANCEL_ASYNC ();
#ifdef INLINE_SYSCALL
int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, NULL, _NSIG / 8);
#else
int result = __sigwaitinfo (set, info);
#endif
CANCEL_RESET (oldtype);
return result;
}

View file

@ -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"
int
waitid (idtype_t idtype, id_t id, siginfo_t *infop, int options)
{
int oldtype = CANCEL_ASYNC ();
int result = __waitid (idtype, id, infop, options);
CANCEL_RESET (oldtype);
return result;
}
strong_alias (__wait, wait)

View file

@ -1,67 +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/uio.h>
#include "pthreadP.h"
/* Not all versions of the kernel support the large number of records. */
#ifndef UIO_FASTIOV
/* 1024 is what the kernels with NPTL support use. */
# define UIO_FASTIOV 1024
#endif
ssize_t
writev (fd, vector, count)
int fd;
const struct iovec *vector;
int count;
{
int oldtype = CANCEL_ASYNC ();
ssize_t result;
#ifdef INTERNAL_SYSCALL
result = INTERNAL_SYSCALL (writev, 3, fd, vector, count);
if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result), 0))
{
if (count <= UIO_FASTIOV)
{
__set_errno (INTERNAL_SYSCALL_ERRNO (result));
result = -1;
}
else
result = __libc_writev (fd, vector, count);
}
#else
# if defined INLINE_SYSCALL
result = INLINE_SYSCALL (writev, 3, fd, vector, count);
if (result < 0 && errno == EINVAL
&& __builtin_expect (count > UIO_FASTIOV, 0))
# endif
result = __libc_writev (fd, vector, count);
#endif
CANCEL_RESET (oldtype);
return result;
}