From owner-cvs-src@FreeBSD.ORG Fri Feb 4 16:17:56 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6061316A4CE; Fri, 4 Feb 2005 16:17:56 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2772043D31; Fri, 4 Feb 2005 16:17:56 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j14GHuOX038571; Fri, 4 Feb 2005 16:17:56 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from jhb@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j14GHuJZ038570; Fri, 4 Feb 2005 16:17:56 GMT (envelope-from jhb) Message-Id: <200502041617.j14GHuJZ038570@repoman.freebsd.org> From: John Baldwin Date: Fri, 4 Feb 2005 16:17:56 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_5 Subject: cvs commit: src/lib/libpthread pthread.map src/lib/libpthread/arch/amd64/amd64 pthread_md.c src/lib/libpthread/arch/amd64/include pthread_md.h src/lib/libpthread/arch/i386/include pthread_md.h src/lib/libpthread/sys thr_error.c ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Feb 2005 16:17:56 -0000 jhb 2005-02-04 16:17:56 UTC FreeBSD src repository Modified files: (Branch: RELENG_5) lib/libpthread pthread.map lib/libpthread/arch/amd64/amd64 pthread_md.c lib/libpthread/arch/amd64/include pthread_md.h lib/libpthread/arch/i386/i386 pthread_md.c lib/libpthread/arch/i386/include pthread_md.h lib/libpthread/sys thr_error.c lib/libpthread/thread thr_cancel.c thr_clean.c thr_concurrency.c thr_cond.c thr_create.c thr_fork.c thr_init.c thr_kern.c thr_mutex.c thr_once.c thr_private.h thr_sem.c thr_sig.c thr_sigsuspend.c thr_spinlock.c Log: MFC Most of the various fixes and changes to libpthread from HEAD to 5.x including: Pull debug symbols in for statically linked binaries. gcc -O2 cleanups. Don't call _thr_start_sig_daemon() when SYSTEM_SCOPE_ONLY is defined. If a system scope thread didn't set a timeout, don't call the clock_gettime system call before and after sleeping. Add missing reference count drops to close a memory leak. Save cancelflags in signal frame. Use a generic way to back threads out of wait queues when handling signals instead of having more intricate knowledge of thread state within signal handling. Simplify signal code because of above (by David Xu). Use macros for libpthread usage of pthread_cleanup_push() and pthread_cleanup_pop(). This removes some instances of malloc() and free() from the semaphore and pthread_once() implementations. When single threaded and forking(), make sure that the current thread's signal mask is inherited by the forked thread. Use private mutexes for libc and libpthread. Signals are deferred while threads hold private mutexes. This fix breaks an internal system ABI that old versions of the www/linuxpluginwrapper port depend on. Upgrading that port to the latest version will fix that. Fix race condition in condition variables where handling a signal (pthread_kill() or kill()) may not see a wakeup (pthread_cond_signal() or pthread_cond_broadcast()). Don't panic when sigsuspend is interrupted by a cancellation. Revision Changes Path 1.3.2.1 +3 -2 src/lib/libpthread/arch/amd64/amd64/pthread_md.c 1.9.2.1 +2 -2 src/lib/libpthread/arch/amd64/include/pthread_md.h 1.3.2.1 +6 -0 src/lib/libpthread/arch/i386/i386/pthread_md.c 1.10.2.1 +9 -2 src/lib/libpthread/arch/i386/include/pthread_md.h 1.12.2.2 +1 -0 src/lib/libpthread/pthread.map 1.7.6.1 +1 -0 src/lib/libpthread/sys/thr_error.c 1.31.2.1 +14 -6 src/lib/libpthread/thread/thr_cancel.c 1.8.6.1 +3 -1 src/lib/libpthread/thread/thr_clean.c 1.8.2.1 +7 -0 src/lib/libpthread/thread/thr_concurrency.c 1.51.2.1 +118 -102 src/lib/libpthread/thread/thr_cond.c 1.57.2.2 +1 -3 src/lib/libpthread/thread/thr_create.c 1.34.4.1 +14 -10 src/lib/libpthread/thread/thr_fork.c 1.65.2.1 +5 -0 src/lib/libpthread/thread/thr_init.c 1.112.2.2 +28 -49 src/lib/libpthread/thread/thr_kern.c 1.45.2.1 +80 -21 src/lib/libpthread/thread/thr_mutex.c 1.9.4.1 +4 -2 src/lib/libpthread/thread/thr_once.c 1.118.2.2 +20 -5 src/lib/libpthread/thread/thr_private.h 1.15.2.1 +4 -4 src/lib/libpthread/thread/thr_sem.c 1.79.2.2 +123 -154 src/lib/libpthread/thread/thr_sig.c 1.24.2.1 +8 -2 src/lib/libpthread/thread/thr_sigsuspend.c 1.21.2.1 +10 -6 src/lib/libpthread/thread/thr_spinlock.c