From owner-cvs-src@FreeBSD.ORG Sun Jun 29 14:21:52 2003 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 E110537B408; Sun, 29 Jun 2003 14:21:52 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FB5743FEA; Sun, 29 Jun 2003 14:21:52 -0700 (PDT) (envelope-from mtm@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 h5TLLq0U077726; Sun, 29 Jun 2003 14:21:52 -0700 (PDT) (envelope-from mtm@repoman.freebsd.org) Received: (from mtm@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h5TLLqWx077722; Sun, 29 Jun 2003 14:21:52 -0700 (PDT) Message-Id: <200306292121.h5TLLqWx077722@repoman.freebsd.org> From: Mike Makonnen Date: Sun, 29 Jun 2003 14:21:52 -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/libthr/thread thr_kern.c thr_private.h 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: Sun, 29 Jun 2003 21:21:53 -0000 mtm 2003/06/29 14:21:52 PDT FreeBSD src repository Modified files: lib/libthr/thread thr_kern.c thr_private.h Log: In a critical section, separate the aquisition of the thread lock and the disabling of signals. What we are really interested in is keeping track of recursive disabling of signals. We should not be recursively acquiring thread locks. Any such situations should be reorganized to not require a recursive lock. Separating the two out also allows us to block signals independent of acquiring thread locks. This will be needed in libthr in the near future when we put the pieces together to protect libc functions that use pthread mutexes and low level locks. Revision Changes Path 1.10 +24 -16 src/lib/libthr/thread/thr_kern.c 1.18 +3 -1 src/lib/libthr/thread/thr_private.h