Date: Wed, 24 Jan 2001 05:03:44 -0800 (PST) From: Daniel Eischen <deischen@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/libc_r Makefile src/lib/libc_r/uthread pthread_private.h uthread_accept.c uthread_aio_suspend.c uthread_attr_destroy.c uthread_attr_getdetachstate.c uthread_attr_getinheritsched.c uthread_attr_getschedparam.c uthread_attr_getschedpolicy.c uthread_attr_getscope.c ... Message-ID: <200101241303.f0OD3iN37215@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
deischen 2001/01/24 05:03:44 PST
Modified files:
lib/libc_r Makefile
lib/libc_r/uthread pthread_private.h uthread_accept.c
uthread_aio_suspend.c
uthread_attr_destroy.c
uthread_attr_getdetachstate.c
uthread_attr_getinheritsched.c
uthread_attr_getschedparam.c
uthread_attr_getschedpolicy.c
uthread_attr_getscope.c
uthread_attr_getstackaddr.c
uthread_attr_getstacksize.c
uthread_attr_init.c
uthread_attr_setcreatesuspend_np.c
uthread_attr_setdetachstate.c
uthread_attr_setinheritsched.c
uthread_attr_setprio.c
uthread_attr_setschedparam.c
uthread_attr_setschedpolicy.c
uthread_attr_setscope.c
uthread_attr_setstackaddr.c
uthread_attr_setstacksize.c
uthread_bind.c uthread_cancel.c
uthread_clean.c uthread_close.c
uthread_cond.c uthread_condattr_destroy.c
uthread_condattr_init.c uthread_connect.c
uthread_creat.c uthread_create.c
uthread_detach.c uthread_dup.c
uthread_dup2.c uthread_equal.c
uthread_execve.c uthread_exit.c
uthread_fchflags.c uthread_fchmod.c
uthread_fchown.c uthread_fcntl.c
uthread_fd.c uthread_file.c
uthread_find_thread.c uthread_flock.c
uthread_fork.c uthread_fpathconf.c
uthread_fstat.c uthread_fstatfs.c
uthread_fsync.c uthread_gc.c
uthread_getdirentries.c
uthread_getpeername.c uthread_getprio.c
uthread_getschedparam.c
uthread_getsockname.c
uthread_getsockopt.c uthread_info.c
uthread_init.c uthread_ioctl.c
uthread_jmp.c uthread_join.c
uthread_kern.c uthread_kevent.c
uthread_kill.c uthread_listen.c
uthread_mattr_init.c
uthread_mattr_kind_np.c uthread_msync.c
uthread_multi_np.c uthread_mutex.c
uthread_mutex_prioceiling.c
uthread_mutex_protocol.c
uthread_mutexattr_destroy.c
uthread_nanosleep.c uthread_once.c
uthread_open.c uthread_pause.c
uthread_pipe.c uthread_poll.c
uthread_priority_queue.c uthread_read.c
uthread_readv.c uthread_recvfrom.c
uthread_recvmsg.c uthread_resume_np.c
uthread_rwlock.c uthread_rwlockattr.c
uthread_select.c uthread_self.c
uthread_sem.c uthread_sendfile.c
uthread_sendmsg.c uthread_sendto.c
uthread_seterrno.c uthread_setprio.c
uthread_setschedparam.c
uthread_setsockopt.c uthread_shutdown.c
uthread_sig.c uthread_sigaction.c
uthread_sigblock.c uthread_sigmask.c
uthread_signal.c uthread_sigpending.c
uthread_sigprocmask.c
uthread_sigsetmask.c uthread_sigsuspend.c
uthread_sigwait.c uthread_single_np.c
uthread_sleep.c uthread_socket.c
uthread_socketpair.c uthread_spec.c
uthread_spinlock.c uthread_suspend_np.c
uthread_switch_np.c uthread_system.c
uthread_tcdrain.c uthread_vfork.c
uthread_wait.c uthread_wait4.c
uthread_waitpid.c uthread_write.c
uthread_writev.c uthread_yield.c
Log:
Add weak definitions for wrapped system calls. In general:
_foo - wrapped system call
foo - weak definition to _foo
and for cancellation points:
_foo - wrapped system call
__foo - enter cancellation point, call _foo(), leave
cancellation point
foo - weak definition to __foo
Change use of global _thread_run to call a function to get the
currently running thread.
Make all pthread_foo functions weak definitions to _pthread_foo,
where _pthread_foo is the implementation. This allows an application
to provide its own pthread functions.
Provide slightly different versions of pthread_mutex_lock and
pthread_mutex_init so that we can tell the difference between
a libc mutex and an application mutex. Threads holding mutexes
internal to libc should never be allowed to exit, call signal
handlers, or cancel.
Approved by: -arch
Revision Changes Path
1.30 +1 -18 src/lib/libc_r/Makefile
1.50 +82 -141 src/lib/libc_r/uthread/pthread_private.h
1.14 +11 -12 src/lib/libc_r/uthread/uthread_accept.c
1.4 +5 -6 src/lib/libc_r/uthread/uthread_aio_suspend.c
1.5 +5 -4 src/lib/libc_r/uthread/uthread_attr_destroy.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_getdetachstate.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_getinheritsched.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_getschedparam.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_getschedpolicy.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_getscope.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_getstackaddr.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_getstacksize.c
1.5 +5 -4 src/lib/libc_r/uthread/uthread_attr_init.c
1.4 +4 -4 src/lib/libc_r/uthread/uthread_attr_setcreatesuspend_np.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_setdetachstate.c
1.4 +4 -4 src/lib/libc_r/uthread/uthread_attr_setinheritsched.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_setprio.c
1.7 +4 -4 src/lib/libc_r/uthread/uthread_attr_setschedparam.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_setschedpolicy.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_setscope.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_attr_setstackaddr.c
1.6 +4 -4 src/lib/libc_r/uthread/uthread_attr_setstacksize.c
1.10 +4 -6 src/lib/libc_r/uthread/uthread_bind.c
1.6 +36 -21 src/lib/libc_r/uthread/uthread_cancel.c
1.5 +12 -9 src/lib/libc_r/uthread/uthread_clean.c
1.11 +8 -8 src/lib/libc_r/uthread/uthread_close.c
1.30 +40 -32 src/lib/libc_r/uthread/uthread_cond.c
1.5 +5 -4 src/lib/libc_r/uthread/uthread_condattr_destroy.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_condattr_init.c
1.11 +8 -9 src/lib/libc_r/uthread/uthread_connect.c
1.3 +4 -4 src/lib/libc_r/uthread/uthread_creat.c
1.28 +12 -9 src/lib/libc_r/uthread/uthread_create.c
1.14 +4 -4 src/lib/libc_r/uthread/uthread_detach.c
1.9 +5 -7 src/lib/libc_r/uthread/uthread_dup.c
1.10 +5 -7 src/lib/libc_r/uthread/uthread_dup2.c
1.4 +4 -4 src/lib/libc_r/uthread/uthread_equal.c
1.13 +11 -12 src/lib/libc_r/uthread/uthread_execve.c
1.19 +34 -32 src/lib/libc_r/uthread/uthread_exit.c
1.5 +3 -6 src/lib/libc_r/uthread/uthread_fchflags.c
1.9 +4 -6 src/lib/libc_r/uthread/uthread_fchmod.c
1.9 +4 -6 src/lib/libc_r/uthread/uthread_fchown.c
1.13 +11 -11 src/lib/libc_r/uthread/uthread_fcntl.c
1.18 +57 -55 src/lib/libc_r/uthread/uthread_fd.c
1.17 +19 -17 src/lib/libc_r/uthread/uthread_file.c
1.6 +1 -3 src/lib/libc_r/uthread/uthread_find_thread.c
1.9 +4 -6 src/lib/libc_r/uthread/uthread_flock.c
1.21 +17 -18 src/lib/libc_r/uthread/uthread_fork.c
1.2 +4 -5 src/lib/libc_r/uthread/uthread_fpathconf.c
1.9 +4 -5 src/lib/libc_r/uthread/uthread_fstat.c
1.9 +4 -6 src/lib/libc_r/uthread/uthread_fstatfs.c
1.9 +5 -5 src/lib/libc_r/uthread/uthread_fsync.c
1.14 +6 -5 src/lib/libc_r/uthread/uthread_gc.c
1.9 +4 -6 src/lib/libc_r/uthread/uthread_getdirentries.c
1.10 +4 -5 src/lib/libc_r/uthread/uthread_getpeername.c
1.7 +4 -4 src/lib/libc_r/uthread/uthread_getprio.c
1.6 +4 -4 src/lib/libc_r/uthread/uthread_getschedparam.c
1.10 +4 -6 src/lib/libc_r/uthread/uthread_getsockname.c
1.10 +4 -6 src/lib/libc_r/uthread/uthread_getsockopt.c
1.18 +23 -23 src/lib/libc_r/uthread/uthread_info.c
1.29 +120 -92 src/lib/libc_r/uthread/uthread_init.c
1.10 +4 -6 src/lib/libc_r/uthread/uthread_ioctl.c
1.6 +17 -9 src/lib/libc_r/uthread/uthread_jmp.c
1.15 +23 -20 src/lib/libc_r/uthread/uthread_join.c
1.37 +134 -102 src/lib/libc_r/uthread/uthread_kern.c
1.4 +14 -13 src/lib/libc_r/uthread/uthread_kevent.c
1.11 +4 -4 src/lib/libc_r/uthread/uthread_kill.c
1.9 +4 -5 src/lib/libc_r/uthread/uthread_listen.c
1.6 +4 -4 src/lib/libc_r/uthread/uthread_mattr_init.c
1.6 +10 -7 src/lib/libc_r/uthread/uthread_mattr_kind_np.c
1.4 +5 -5 src/lib/libc_r/uthread/uthread_msync.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_multi_np.c
1.28 +267 -174 src/lib/libc_r/uthread/uthread_mutex.c
1.4 +12 -9 src/lib/libc_r/uthread/uthread_mutex_prioceiling.c
1.4 +6 -5 src/lib/libc_r/uthread/uthread_mutex_protocol.c
1.6 +4 -4 src/lib/libc_r/uthread/uthread_mutexattr_destroy.c
1.15 +12 -11 src/lib/libc_r/uthread/uthread_nanosleep.c
1.5 +4 -4 src/lib/libc_r/uthread/uthread_once.c
1.10 +6 -6 src/lib/libc_r/uthread/uthread_open.c
1.3 +4 -4 src/lib/libc_r/uthread/uthread_pause.c
1.9 +6 -8 src/lib/libc_r/uthread/uthread_pipe.c
1.10 +7 -9 src/lib/libc_r/uthread/uthread_poll.c
1.7 +2 -4 src/lib/libc_r/uthread/uthread_priority_queue.c
1.12 +9 -8 src/lib/libc_r/uthread/uthread_read.c
1.12 +8 -9 src/lib/libc_r/uthread/uthread_readv.c
1.10 +8 -9 src/lib/libc_r/uthread/uthread_recvfrom.c
1.8 +8 -9 src/lib/libc_r/uthread/uthread_recvmsg.c
1.10 +4 -4 src/lib/libc_r/uthread/uthread_resume_np.c
1.5 +16 -10 src/lib/libc_r/uthread/uthread_rwlock.c
1.6 +10 -7 src/lib/libc_r/uthread/uthread_rwlockattr.c
1.17 +14 -15 src/lib/libc_r/uthread/uthread_select.c
1.4 +5 -5 src/lib/libc_r/uthread/uthread_self.c
1.8 +21 -12 src/lib/libc_r/uthread/uthread_sem.c
1.4 +9 -8 src/lib/libc_r/uthread/uthread_sendfile.c
1.8 +8 -9 src/lib/libc_r/uthread/uthread_sendmsg.c
1.10 +8 -9 src/lib/libc_r/uthread/uthread_sendto.c
1.5 +1 -3 src/lib/libc_r/uthread/uthread_seterrno.c
1.8 +4 -4 src/lib/libc_r/uthread/uthread_setprio.c
1.8 +4 -4 src/lib/libc_r/uthread/uthread_setschedparam.c
1.10 +4 -6 src/lib/libc_r/uthread/uthread_setsockopt.c
1.10 +6 -8 src/lib/libc_r/uthread/uthread_shutdown.c
1.33 +22 -21 src/lib/libc_r/uthread/uthread_sig.c
1.14 +7 -6 src/lib/libc_r/uthread/uthread_sigaction.c
1.5 +3 -5 src/lib/libc_r/uthread/uthread_sigblock.c
1.8 +12 -11 src/lib/libc_r/uthread/uthread_sigmask.c
1.6 +3 -5 src/lib/libc_r/uthread/uthread_signal.c
1.7 +5 -6 src/lib/libc_r/uthread/uthread_sigpending.c
1.11 +3 -5 src/lib/libc_r/uthread/uthread_sigprocmask.c
1.5 +3 -5 src/lib/libc_r/uthread/uthread_sigsetmask.c
1.10 +8 -7 src/lib/libc_r/uthread/uthread_sigsuspend.c
1.17 +13 -12 src/lib/libc_r/uthread/uthread_sigwait.c
1.4 +7 -5 src/lib/libc_r/uthread/uthread_single_np.c
1.3 +4 -4 src/lib/libc_r/uthread/uthread_sleep.c
1.9 +5 -7 src/lib/libc_r/uthread/uthread_socket.c
1.11 +6 -8 src/lib/libc_r/uthread/uthread_socketpair.c
1.15 +29 -24 src/lib/libc_r/uthread/uthread_spec.c
1.9 +10 -7 src/lib/libc_r/uthread/uthread_spinlock.c
1.10 +7 -5 src/lib/libc_r/uthread/uthread_suspend_np.c
1.4 +6 -5 src/lib/libc_r/uthread/uthread_switch_np.c
1.3 +4 -4 src/lib/libc_r/uthread/uthread_system.c
1.3 +4 -4 src/lib/libc_r/uthread/uthread_tcdrain.c
1.2 +6 -3 src/lib/libc_r/uthread/uthread_vfork.c
1.3 +4 -4 src/lib/libc_r/uthread/uthread_wait.c
1.12 +7 -8 src/lib/libc_r/uthread/uthread_wait4.c
1.3 +4 -4 src/lib/libc_r/uthread/uthread_waitpid.c
1.18 +9 -8 src/lib/libc_r/uthread/uthread_write.c
1.17 +8 -9 src/lib/libc_r/uthread/uthread_writev.c
1.6 +12 -7 src/lib/libc_r/uthread/uthread_yield.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101241303.f0OD3iN37215>
