From owner-cvs-all@FreeBSD.ORG Thu Apr 17 22:04:18 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E086437B401; Thu, 17 Apr 2003 22:04:18 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54A8543FA3; Thu, 17 Apr 2003 22:04:18 -0700 (PDT) (envelope-from deischen@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h3I54I0U025045; Thu, 17 Apr 2003 22:04:18 -0700 (PDT) (envelope-from deischen@repoman.freebsd.org) Received: (from deischen@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h3I54Ie3025044; Thu, 17 Apr 2003 22:04:18 -0700 (PDT) Message-Id: <200304180504.h3I54Ie3025044@repoman.freebsd.org> From: Daniel Eischen Date: Thu, 17 Apr 2003 22:04:18 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/lib/libpthread Makefile src/lib/libpthread/thread Makefile.inc thr_acl_aclcheck_fd.c thr_aio_suspend.c thr_attr_get_np.c thr_attr_init.c thr_attr_setcreatesuspend_np.c thr_attr_setscope.c ... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Apr 2003 05:04:19 -0000 deischen 2003/04/17 22:04:18 PDT FreeBSD src repository Modified files: lib/libpthread Makefile lib/libpthread/thread Makefile.inc thr_aio_suspend.c thr_attr_get_np.c thr_attr_init.c thr_attr_setcreatesuspend_np.c thr_attr_setguardsize.c thr_attr_setschedparam.c thr_attr_setscope.c thr_autoinit.c thr_cancel.c thr_clean.c thr_close.c thr_cond.c thr_condattr_init.c thr_creat.c thr_create.c thr_detach.c thr_exit.c thr_fcntl.c thr_find_thread.c thr_fork.c thr_fsync.c thr_getschedparam.c thr_info.c thr_init.c thr_join.c thr_kern.c thr_kill.c thr_main_np.c thr_mattr_init.c thr_msync.c thr_mutex.c thr_mutex_prioceiling.c thr_mutex_protocol.c thr_nanosleep.c thr_once.c thr_open.c thr_pause.c thr_poll.c thr_printf.c thr_priority_queue.c thr_private.h thr_pselect.c thr_read.c thr_readv.c thr_resume_np.c thr_rwlock.c thr_select.c thr_self.c thr_sem.c thr_seterrno.c thr_setschedparam.c thr_sig.c thr_sigaction.c thr_sigmask.c thr_sigpending.c thr_sigsuspend.c thr_sigwait.c thr_sleep.c thr_spec.c thr_spinlock.c thr_stack.c thr_suspend_np.c thr_switch_np.c thr_system.c thr_tcdrain.c thr_wait.c thr_wait4.c thr_waitpid.c thr_write.c thr_writev.c thr_yield.c Removed files: lib/libpthread/thread thr_acl_aclcheck_fd.c thr_gc.c Log: Revamp libpthread so that it has a chance of working in an SMP environment. This includes support for multiple KSEs and KSEGs. The ability to create more than 1 KSE via pthread_setconcurrency() is in the works as well as support for PTHREAD_SCOPE_SYSTEM threads. Those should come shortly. There are still some known issues which davidxu and I are working on, but it'll make it easier for us by committing what we have. This library now passes all of the ACE tests that libc_r passes with the exception of one. It also seems to work OK with KDE including konqueror, kwrite, etc. I haven't been able to get mozilla to run due to lack of java plugin, so I'd be interested to see how it works with that. Reviewed by: davidxu Revision Changes Path 1.36 +5 -3 src/lib/libpthread/Makefile 1.39 +3 -2 src/lib/libpthread/thread/Makefile.inc 1.5 +0 -47 src/lib/libpthread/thread/thr_acl_aclcheck_fd.c (dead) 1.7 +5 -4 src/lib/libpthread/thread/thr_aio_suspend.c 1.3 +4 -8 src/lib/libpthread/thread/thr_attr_get_np.c 1.8 +2 -1 src/lib/libpthread/thread/thr_attr_init.c 1.7 +1 -1 src/lib/libpthread/thread/thr_attr_setcreatesuspend_np.c 1.5 +4 -4 src/lib/libpthread/thread/thr_attr_setguardsize.c 1.10 +2 -2 src/lib/libpthread/thread/thr_attr_setschedparam.c 1.9 +4 -5 src/lib/libpthread/thread/thr_attr_setscope.c 1.2 +4 -1 src/lib/libpthread/thread/thr_autoinit.c 1.18 +100 -52 src/lib/libpthread/thread/thr_cancel.c 1.8 +2 -2 src/lib/libpthread/thread/thr_clean.c 1.16 +4 -3 src/lib/libpthread/thread/thr_close.c 1.35 +242 -193 src/lib/libpthread/thread/thr_cond.c 1.8 +4 -4 src/lib/libpthread/thread/thr_condattr_init.c 1.6 +4 -3 src/lib/libpthread/thread/thr_creat.c 1.38 +165 -95 src/lib/libpthread/thread/thr_create.c 1.19 +46 -34 src/lib/libpthread/thread/thr_detach.c 1.30 +19 -70 src/lib/libpthread/thread/thr_exit.c 1.18 +17 -15 src/lib/libpthread/thread/thr_fcntl.c 1.9 +53 -19 src/lib/libpthread/thread/thr_find_thread.c 1.30 +6 -127 src/lib/libpthread/thread/thr_fork.c 1.13 +4 -3 src/lib/libpthread/thread/thr_fsync.c 1.18 +0 -219 src/lib/libpthread/thread/thr_gc.c (dead) 1.9 +21 -7 src/lib/libpthread/thread/thr_getschedparam.c 1.23 +44 -64 src/lib/libpthread/thread/thr_info.c 1.47 +312 -199 src/lib/libpthread/thread/thr_init.c 1.22 +65 -95 src/lib/libpthread/thread/thr_join.c 1.52 +1605 -408 src/lib/libpthread/thread/thr_kern.c 1.15 +20 -2 src/lib/libpthread/thread/thr_kill.c 1.5 +2 -2 src/lib/libpthread/thread/thr_main_np.c 1.9 +4 -4 src/lib/libpthread/thread/thr_mattr_init.c 1.8 +3 -2 src/lib/libpthread/thread/thr_msync.c 1.33 +645 -573 src/lib/libpthread/thread/thr_mutex.c 1.7 +7 -9 src/lib/libpthread/thread/thr_mutex_prioceiling.c 1.7 +1 -1 src/lib/libpthread/thread/thr_mutex_protocol.c 1.18 +26 -41 src/lib/libpthread/thread/thr_nanosleep.c 1.8 +7 -5 src/lib/libpthread/thread/thr_once.c 1.15 +3 -2 src/lib/libpthread/thread/thr_open.c 1.6 +3 -2 src/lib/libpthread/thread/thr_pause.c 1.15 +3 -2 src/lib/libpthread/thread/thr_poll.c 1.2 +3 -7 src/lib/libpthread/thread/thr_printf.c 1.12 +58 -163 src/lib/libpthread/thread/thr_priority_queue.c 1.79 +616 -511 src/lib/libpthread/thread/thr_private.h 1.3 +3 -2 src/lib/libpthread/thread/thr_pselect.c 1.17 +3 -2 src/lib/libpthread/thread/thr_read.c 1.18 +3 -2 src/lib/libpthread/thread/thr_readv.c 1.15 +33 -35 src/lib/libpthread/thread/thr_resume_np.c 1.11 +64 -60 src/lib/libpthread/thread/thr_rwlock.c 1.24 +3 -2 src/lib/libpthread/thread/thr_select.c 1.7 +3 -0 src/lib/libpthread/thread/thr_self.c 1.12 +38 -34 src/lib/libpthread/thread/thr_sem.c 1.7 +1 -1 src/lib/libpthread/thread/thr_seterrno.c 1.11 +35 -25 src/lib/libpthread/thread/thr_setschedparam.c 1.46 +554 -428 src/lib/libpthread/thread/thr_sig.c 1.18 +7 -12 src/lib/libpthread/thread/thr_sigaction.c 1.13 +52 -24 src/lib/libpthread/thread/thr_sigmask.c 1.12 +6 -1 src/lib/libpthread/thread/thr_sigpending.c 1.15 +43 -7 src/lib/libpthread/thread/thr_sigsuspend.c 1.22 +127 -3 src/lib/libpthread/thread/thr_sigwait.c 1.6 +4 -3 src/lib/libpthread/thread/thr_sleep.c 1.19 +42 -43 src/lib/libpthread/thread/thr_spec.c 1.14 +10 -29 src/lib/libpthread/thread/thr_spinlock.c 1.6 +102 -105 src/lib/libpthread/thread/thr_stack.c 1.16 +30 -28 src/lib/libpthread/thread/thr_suspend_np.c 1.7 +2 -20 src/lib/libpthread/thread/thr_switch_np.c 1.6 +3 -2 src/lib/libpthread/thread/thr_system.c 1.6 +4 -3 src/lib/libpthread/thread/thr_tcdrain.c 1.6 +3 -2 src/lib/libpthread/thread/thr_wait.c 1.17 +3 -2 src/lib/libpthread/thread/thr_wait4.c 1.6 +3 -2 src/lib/libpthread/thread/thr_waitpid.c 1.23 +3 -2 src/lib/libpthread/thread/thr_write.c 1.23 +3 -2 src/lib/libpthread/thread/thr_writev.c 1.10 +2 -2 src/lib/libpthread/thread/thr_yield.c