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>