From owner-cvs-all@FreeBSD.ORG Mon Dec 4 14:15:13 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5F4FA16A40F; Mon, 4 Dec 2006 14:15:13 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21F3243C9D; Mon, 4 Dec 2006 14:14:40 +0000 (GMT) (envelope-from davidxu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kB4EFDDw029711; Mon, 4 Dec 2006 14:15:13 GMT (envelope-from davidxu@repoman.freebsd.org) Received: (from davidxu@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kB4EFDJ6029710; Mon, 4 Dec 2006 14:15:13 GMT (envelope-from davidxu) Message-Id: <200612041415.kB4EFDJ6029710@repoman.freebsd.org> From: David Xu Date: Mon, 4 Dec 2006 14:15:12 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/sys proc.h umtx.h src/sys/kern kern_thr.c kern_umtx.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 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: Mon, 04 Dec 2006 14:15:13 -0000 davidxu 2006-12-04 14:15:12 UTC FreeBSD src repository Modified files: sys/sys proc.h umtx.h sys/kern kern_thr.c kern_umtx.c Log: if a thread blocked on userland condition variable is pthread_cancel()ed, it is expected that the thread will not consume a pthread_cond_signal(), therefor, we use thr_wake() to mark a flag, the flag tells a thread calling do_cv_wait() in umtx code to not block on a condition variable. Thread library is expected that once a thread detected itself is in pthread_cond_wait, it will call the thr_wake() for itself in its SIGCANCEL handler. Revision Changes Path 1.57 +11 -0 src/sys/kern/kern_thr.c 1.56 +10 -5 src/sys/kern/kern_umtx.c 1.465 +1 -0 src/sys/sys/proc.h 1.27 +3 -0 src/sys/sys/umtx.h