From owner-cvs-src@FreeBSD.ORG Sat Mar 4 00:18:20 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org 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 7E6A216A420; Sat, 4 Mar 2006 00:18:20 +0000 (GMT) (envelope-from davidxu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C5B443D45; Sat, 4 Mar 2006 00:18:20 +0000 (GMT) (envelope-from davidxu@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 k240IKiA083470; Sat, 4 Mar 2006 00:18:20 GMT (envelope-from davidxu@repoman.freebsd.org) Received: (from davidxu@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k240IKsc083469; Sat, 4 Mar 2006 00:18:20 GMT (envelope-from davidxu) Message-Id: <200603040018.k240IKsc083469@repoman.freebsd.org> From: David Xu Date: Sat, 4 Mar 2006 00:18:19 +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/lib/librt aio.c mq.c sigev_thread.c sigev_thread.h timer.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 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: Sat, 04 Mar 2006 00:18:20 -0000 davidxu 2006-03-04 00:18:19 UTC FreeBSD src repository Modified files: lib/librt aio.c mq.c sigev_thread.c sigev_thread.h timer.c Log: Use a thread pool to process notification if sigev_notify_attributes is default and caller does not require dedicated thread. timer needs a dedicated thread to maintain overrun count correctly in notification context. mqueue and aio can use thread pool to do notification concurrently, the thread pool has lifecycle control, some threads will exit if they have idled for a while. Revision Changes Path 1.3 +2 -2 src/lib/librt/aio.c 1.4 +3 -3 src/lib/librt/mq.c 1.4 +306 -48 src/lib/librt/sigev_thread.c 1.2 +10 -5 src/lib/librt/sigev_thread.h 1.3 +5 -5 src/lib/librt/timer.c