- uthread_signal.c; libc_r does not wrap signal() since 1998/04/29.

- uthread_attr_setprio.c; it was never connected to the build, and
  pthread_attr_setprio() does not exist in POSIX.

- uthread_sigblock.c and uthread_sigsetmask.c; these were no-ops
  bloating libc_r's space.

pthread_private.h:

- Removed prototypes of non-syscalls: send().

- Removed prototypes of unused syscalls: sigpending(), sigsuspend(),
  and select().

- Fixed prototype of fork().

- MFS: Fixed prototypes of <sys/socket.h> syscalls.

Reviewed by:	deischen
Approved by:	deischen, jasone
This commit is contained in:
ru 2001-10-26 17:46:36 +00:00
parent 1b24a8aa4e
commit 19c3a4faee
10 changed files with 30 additions and 250 deletions

View File

@ -113,11 +113,9 @@ SRCS+= \
uthread_shutdown.c \
uthread_sig.c \
uthread_sigaction.c \
uthread_sigblock.c \
uthread_sigmask.c \
uthread_sigpending.c \
uthread_sigprocmask.c \
uthread_sigsetmask.c \
uthread_sigsuspend.c \
uthread_sigwait.c \
uthread_single_np.c \

View File

@ -1262,9 +1262,7 @@ int __sys_aio_suspend(const struct aiocb * const[], int, const struct timespec *
/* #include <signal.h> */
#ifdef _SIGNAL_H_
int __sys_sigaction(int, const struct sigaction *, struct sigaction *);
int __sys_sigpending(sigset_t *);
int __sys_sigprocmask(int, const sigset_t *, sigset_t *);
int __sys_sigsuspend(const sigset_t *);
int __sys_sigreturn(ucontext_t *);
int __sys_sigaltstack(const struct sigaltstack *, struct sigaltstack *);
#endif
@ -1289,23 +1287,22 @@ int __sys_kevent(int, const struct kevent *, int, struct kevent *,
/* #include <sys/socket.h> */
#ifdef _SYS_SOCKET_H_
int __sys_accept(int, struct sockaddr *, int *);
int __sys_bind(int, const struct sockaddr *, int);
int __sys_connect(int, const struct sockaddr *, int);
int __sys_getpeername(int, struct sockaddr *, int *);
int __sys_getsockname(int, struct sockaddr *, int *);
int __sys_getsockopt(int, int, int, void *, int *);
int __sys_accept(int, struct sockaddr *, socklen_t *);
int __sys_bind(int, const struct sockaddr *, socklen_t);
int __sys_connect(int, const struct sockaddr *, socklen_t);
int __sys_getpeername(int, struct sockaddr *, socklen_t *);
int __sys_getsockname(int, struct sockaddr *, socklen_t *);
int __sys_getsockopt(int, int, int, void *, socklen_t *);
int __sys_listen(int, int);
int __sys_setsockopt(int, int, int, const void *, int);
int __sys_setsockopt(int, int, int, const void *, socklen_t);
int __sys_shutdown(int, int);
int __sys_socket(int, int, int);
int __sys_socketpair(int, int, int, int *);
ssize_t __sys_recvfrom(int, void *, size_t, int, struct sockaddr *, int *);
ssize_t __sys_recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *);
ssize_t __sys_recvmsg(int, struct msghdr *, int);
ssize_t __sys_send(int, const void *, size_t, int);
int __sys_sendfile(int, int, off_t, size_t, struct sf_hdtr *, off_t *, int);
ssize_t __sys_sendmsg(int, const struct msghdr *, int);
ssize_t __sys_sendto(int, const void *,size_t, int, const struct sockaddr *, int);
ssize_t __sys_sendto(int, const void *,size_t, int, const struct sockaddr *, socklen_t);
#endif
/* #include <unistd.h> */
@ -1315,10 +1312,9 @@ int __sys_dup(int);
int __sys_dup2(int, int);
int __sys_execve(const char *, char * const *, char * const *);
int __sys_fchown(int, uid_t, gid_t);
int __sys_fork(void);
pid_t __sys_fork(void);
int __sys_fsync(int);
int __sys_pipe(int *);
int __sys_select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
long __sys_fpathconf(int, int);
ssize_t __sys_read(int, void *, size_t);
ssize_t __sys_write(int, const void *, size_t);

View File

@ -1,52 +0,0 @@
/*
* Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by John Birrell.
* 4. Neither the name of the author nor the names of any co-contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $FreeBSD$
*/
#include <errno.h>
#include <pthread.h>
#include "pthread_private.h"
__weak_reference(_pthread_attr_setprio, pthread_attr_setprio);
int
_pthread_attr_setprio(pthread_attr_t *attr, int priority)
{
int ret;
if (attr == NULL || *attr == NULL) {
errno = EINVAL;
ret = -1;
} else {
(*attr)->prio = priority;
ret = 0;
}
return(ret);
}

View File

@ -1,47 +0,0 @@
/*
* Copyright (c) 1995-1998 John Birrell <jb@cimlogic.com.au>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by John Birrell.
* 4. Neither the name of the author nor the names of any co-contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $FreeBSD$
*/
#include <signal.h>
#include <pthread.h>
#include "pthread_private.h"
int
__sys_sigblock(int mask)
{
int omask, n;
n = __sys_sigprocmask(SIG_BLOCK, (sigset_t *) & mask, (sigset_t *) & omask);
if (n)
return (n);
return (omask);
}

View File

@ -1,56 +0,0 @@
/*
* Copyright (c) 1995 John Birrell <jb@cimlogic.com.au>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by John Birrell.
* 4. Neither the name of the author nor the names of any co-contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $FreeBSD$
*/
#include <signal.h>
#include <pthread.h>
#include "pthread_private.h"
sig_t
__sys_signal(int s, sig_t a)
{
struct sigaction sa;
struct sigaction osa;
/* Initialise the signal action structure: */
sigemptyset(&sa.sa_mask);
sa.sa_handler = a;
sa.sa_flags = SA_SIGINFO;
/* Perform the sigaction syscall: */
if (__sys_sigaction(s, &sa, &osa) < 0) {
/* Return an error: */
return (SIG_ERR);
}
/* Return a pointer to the old signal handler: */
return (osa.sa_handler);
}

View File

@ -1,47 +0,0 @@
/*
* Copyright (c) 1995-1998 John Birrell <jb@cimlogic.com.au>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by John Birrell.
* 4. Neither the name of the author nor the names of any co-contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $FreeBSD$
*/
#include <signal.h>
#include <pthread.h>
#include "pthread_private.h"
int
__sys_sigsetmask(int mask)
{
int omask, n;
n = __sys_sigprocmask(SIG_SETMASK, (sigset_t *) & mask, (sigset_t *) & omask);
if (n)
return (n);
return (omask);
}

View File

@ -113,11 +113,9 @@ SRCS+= \
uthread_shutdown.c \
uthread_sig.c \
uthread_sigaction.c \
uthread_sigblock.c \
uthread_sigmask.c \
uthread_sigpending.c \
uthread_sigprocmask.c \
uthread_sigsetmask.c \
uthread_sigsuspend.c \
uthread_sigwait.c \
uthread_single_np.c \

View File

@ -1262,9 +1262,7 @@ int __sys_aio_suspend(const struct aiocb * const[], int, const struct timespec *
/* #include <signal.h> */
#ifdef _SIGNAL_H_
int __sys_sigaction(int, const struct sigaction *, struct sigaction *);
int __sys_sigpending(sigset_t *);
int __sys_sigprocmask(int, const sigset_t *, sigset_t *);
int __sys_sigsuspend(const sigset_t *);
int __sys_sigreturn(ucontext_t *);
int __sys_sigaltstack(const struct sigaltstack *, struct sigaltstack *);
#endif
@ -1289,23 +1287,22 @@ int __sys_kevent(int, const struct kevent *, int, struct kevent *,
/* #include <sys/socket.h> */
#ifdef _SYS_SOCKET_H_
int __sys_accept(int, struct sockaddr *, int *);
int __sys_bind(int, const struct sockaddr *, int);
int __sys_connect(int, const struct sockaddr *, int);
int __sys_getpeername(int, struct sockaddr *, int *);
int __sys_getsockname(int, struct sockaddr *, int *);
int __sys_getsockopt(int, int, int, void *, int *);
int __sys_accept(int, struct sockaddr *, socklen_t *);
int __sys_bind(int, const struct sockaddr *, socklen_t);
int __sys_connect(int, const struct sockaddr *, socklen_t);
int __sys_getpeername(int, struct sockaddr *, socklen_t *);
int __sys_getsockname(int, struct sockaddr *, socklen_t *);
int __sys_getsockopt(int, int, int, void *, socklen_t *);
int __sys_listen(int, int);
int __sys_setsockopt(int, int, int, const void *, int);
int __sys_setsockopt(int, int, int, const void *, socklen_t);
int __sys_shutdown(int, int);
int __sys_socket(int, int, int);
int __sys_socketpair(int, int, int, int *);
ssize_t __sys_recvfrom(int, void *, size_t, int, struct sockaddr *, int *);
ssize_t __sys_recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *);
ssize_t __sys_recvmsg(int, struct msghdr *, int);
ssize_t __sys_send(int, const void *, size_t, int);
int __sys_sendfile(int, int, off_t, size_t, struct sf_hdtr *, off_t *, int);
ssize_t __sys_sendmsg(int, const struct msghdr *, int);
ssize_t __sys_sendto(int, const void *,size_t, int, const struct sockaddr *, int);
ssize_t __sys_sendto(int, const void *,size_t, int, const struct sockaddr *, socklen_t);
#endif
/* #include <unistd.h> */
@ -1315,10 +1312,9 @@ int __sys_dup(int);
int __sys_dup2(int, int);
int __sys_execve(const char *, char * const *, char * const *);
int __sys_fchown(int, uid_t, gid_t);
int __sys_fork(void);
pid_t __sys_fork(void);
int __sys_fsync(int);
int __sys_pipe(int *);
int __sys_select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
long __sys_fpathconf(int, int);
ssize_t __sys_read(int, void *, size_t);
ssize_t __sys_write(int, const void *, size_t);

View File

@ -113,11 +113,9 @@ SRCS+= \
uthread_shutdown.c \
uthread_sig.c \
uthread_sigaction.c \
uthread_sigblock.c \
uthread_sigmask.c \
uthread_sigpending.c \
uthread_sigprocmask.c \
uthread_sigsetmask.c \
uthread_sigsuspend.c \
uthread_sigwait.c \
uthread_single_np.c \

View File

@ -1262,9 +1262,7 @@ int __sys_aio_suspend(const struct aiocb * const[], int, const struct timespec *
/* #include <signal.h> */
#ifdef _SIGNAL_H_
int __sys_sigaction(int, const struct sigaction *, struct sigaction *);
int __sys_sigpending(sigset_t *);
int __sys_sigprocmask(int, const sigset_t *, sigset_t *);
int __sys_sigsuspend(const sigset_t *);
int __sys_sigreturn(ucontext_t *);
int __sys_sigaltstack(const struct sigaltstack *, struct sigaltstack *);
#endif
@ -1289,23 +1287,22 @@ int __sys_kevent(int, const struct kevent *, int, struct kevent *,
/* #include <sys/socket.h> */
#ifdef _SYS_SOCKET_H_
int __sys_accept(int, struct sockaddr *, int *);
int __sys_bind(int, const struct sockaddr *, int);
int __sys_connect(int, const struct sockaddr *, int);
int __sys_getpeername(int, struct sockaddr *, int *);
int __sys_getsockname(int, struct sockaddr *, int *);
int __sys_getsockopt(int, int, int, void *, int *);
int __sys_accept(int, struct sockaddr *, socklen_t *);
int __sys_bind(int, const struct sockaddr *, socklen_t);
int __sys_connect(int, const struct sockaddr *, socklen_t);
int __sys_getpeername(int, struct sockaddr *, socklen_t *);
int __sys_getsockname(int, struct sockaddr *, socklen_t *);
int __sys_getsockopt(int, int, int, void *, socklen_t *);
int __sys_listen(int, int);
int __sys_setsockopt(int, int, int, const void *, int);
int __sys_setsockopt(int, int, int, const void *, socklen_t);
int __sys_shutdown(int, int);
int __sys_socket(int, int, int);
int __sys_socketpair(int, int, int, int *);
ssize_t __sys_recvfrom(int, void *, size_t, int, struct sockaddr *, int *);
ssize_t __sys_recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *);
ssize_t __sys_recvmsg(int, struct msghdr *, int);
ssize_t __sys_send(int, const void *, size_t, int);
int __sys_sendfile(int, int, off_t, size_t, struct sf_hdtr *, off_t *, int);
ssize_t __sys_sendmsg(int, const struct msghdr *, int);
ssize_t __sys_sendto(int, const void *,size_t, int, const struct sockaddr *, int);
ssize_t __sys_sendto(int, const void *,size_t, int, const struct sockaddr *, socklen_t);
#endif
/* #include <unistd.h> */
@ -1315,10 +1312,9 @@ int __sys_dup(int);
int __sys_dup2(int, int);
int __sys_execve(const char *, char * const *, char * const *);
int __sys_fchown(int, uid_t, gid_t);
int __sys_fork(void);
pid_t __sys_fork(void);
int __sys_fsync(int);
int __sys_pipe(int *);
int __sys_select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
long __sys_fpathconf(int, int);
ssize_t __sys_read(int, void *, size_t);
ssize_t __sys_write(int, const void *, size_t);