From owner-cvs-all@FreeBSD.ORG Sun Aug 19 18:08:18 2007 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 137FA16A417; Sun, 19 Aug 2007 18:08:18 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id 8FB5D13C457; Sun, 19 Aug 2007 18:08:17 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (unknown [192.168.61.3]) by phk.freebsd.dk (Postfix) with ESMTP id 5DCC917382; Sun, 19 Aug 2007 18:08:15 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.14.1/8.14.1) with ESMTP id l7JI8BEC085124; Sun, 19 Aug 2007 18:08:11 GMT (envelope-from phk@critter.freebsd.dk) To: Robert Watson From: "Poul-Henning Kamp" In-Reply-To: Your message of "Sun, 19 Aug 2007 18:58:10 +0100." <20070819185019.M81759@fledge.watson.org> Date: Sun, 19 Aug 2007 18:08:11 +0000 Message-ID: <85123.1187546891@critter.freebsd.dk> Sender: phk@critter.freebsd.dk X-Mailman-Approved-At: Sun, 19 Aug 2007 18:15:51 +0000 Cc: wine-freebsd@hub.org, Kris Moore , Scott Long , src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org, Daniel Eischen , David Xu , Tijl Coosemans , Xin LI Subject: Re: cvs commit: src/sys/kern kern_thr.c syscalls.master src/sys/sys 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: Sun, 19 Aug 2007 18:08:18 -0000 In message <20070819185019.M81759@fledge.watson.org>, Robert Watson writes: >Tijl's example of having aligned thread IDs for use between ptrace(2) and the >thr_*(2) system calls is a particularly good example of a case where the clean >pthreads abstraction (which has no notion of how to interact with debuggers) Calling "pthreads clean" is an act of spin that I find actionable. "Spartan", "rudimentary" or most precisely: "primitive" all describe pthreads much better than "clean". I say this as an old ass-hole who have done multiprogramming in various environments since 1980 and as somebody who has never been able to fathom how pthreads came to be without even basic development and debugging aids such as, for instance, a pthread_mutex_assert_held() function. I also fully agree that Wine isn't an application, it is an emulation framework for a alien API, and thus any argument based on pthreads, so called, purity is bollocks. If Wine needs this to work and we need Wine to work, then we need this. Remember: "FreeBSD: Tools, not politics" >Last time I checked, Valgrind on FreeBSD did something very >similar, relying on low-level umtx(2) system calls. Actually I'm helping peter on valgrind and I got it to handle a new thread started with thr_new() only yesterday. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.