From owner-p4-projects@FreeBSD.ORG Tue Jan 4 23:56:37 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 42FE416A4D0; Tue, 4 Jan 2005 23:56:37 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 164DA16A4CE for ; Tue, 4 Jan 2005 23:56:37 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 03F9D43D2D for ; Tue, 4 Jan 2005 23:56:37 +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 j04Nuaa1057018 for ; Tue, 4 Jan 2005 23:56:36 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j04NuaEI057015 for perforce@freebsd.org; Tue, 4 Jan 2005 23:56:36 GMT (envelope-from davidxu@freebsd.org) Date: Tue, 4 Jan 2005 23:56:36 GMT Message-Id: <200501042356.j04NuaEI057015@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 68281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jan 2005 23:56:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=68281 Change 68281 by davidxu@davidxu_tiger on 2005/01/04 23:55:48 Reduce the code size depends on thr_xxx api. now only need: 1. umtx API. 2. thr_create and thr_exit.(which can be replaced with kse_create & kse_exit); Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_mutex.c#9 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread/thread/thr_mutex.c#9 (text+ko) ==== @@ -928,6 +928,7 @@ static inline int mutex_self_lock(struct pthread *curthread, pthread_mutex_t m) { + struct timespec ts; int ret; switch (m->m_type) { @@ -948,8 +949,10 @@ if (m->m_protocol != PTHREAD_PRIO_NONE) { /* Unlock the mutex structure: */ THR_LOCK_RELEASE(curthread, &m->m_lock); + ts.tv_sec = 30; + ts.tv_nsec = 0; for (;;) - thr_suspend(NULL); + __sys_nanosleep(&ts, NULL); } else { PANIC("shouldn't be here!\n"); }