From owner-freebsd-hackers@FreeBSD.ORG Mon Jul 5 11:05:00 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D364C1065670 for ; Mon, 5 Jul 2010 11:05:00 +0000 (UTC) (envelope-from krivenok.dmitry@gmail.com) Received: from mail-ww0-f42.google.com (mail-ww0-f42.google.com [74.125.82.42]) by mx1.freebsd.org (Postfix) with ESMTP id 6CA208FC08 for ; Mon, 5 Jul 2010 11:04:56 +0000 (UTC) Received: by wwb13 with SMTP id 13so384522wwb.1 for ; Mon, 05 Jul 2010 04:04:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=9BDlHvvPFdGR2SaULum8JTmn/adizZD9JQovrBJNCrg=; b=lf4HcAhedQIfv/Zq4FU53MSKsfMSZmNVuqb0OdoZsumOuhzsSP+zIHKgXG789nIbjA xxeXp7LYN+A/1hhoxKdOIn2pAsxYDTWVgkt9IXSReH6jOW4oe3ACMLTUo1KBWYOj9t8a 0kmpTa+M7rQYCPb2xULANO31PaIrS8xJhgMYo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=lkjl+xpYlojIobNJAwfIEMaXDMwfZ5HiwqENFwnn7WencHZcn9lX7cTvicI+piMu+M l8+KIXTP8/rgM0E6BRn+UpanRZl72nAw9RLrx+iuQBTIXaRmu18hOa+fCjp24a3L207J B7SUqdvokotWZtBn/vTjuhQntpncnFAxQGytQ= MIME-Version: 1.0 Received: by 10.213.14.81 with SMTP id f17mr2074079eba.33.1278327888953; Mon, 05 Jul 2010 04:04:48 -0700 (PDT) Received: by 10.213.9.194 with HTTP; Mon, 5 Jul 2010 04:04:48 -0700 (PDT) Date: Mon, 5 Jul 2010 15:04:48 +0400 Message-ID: From: Dmitry Krivenok To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: Do we still need libc_r and libkse in /usr/src/lib? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2010 11:05:00 -0000 Hi Hackers, I've just started learning implementation of threads in FreeBSD-CURRENT. exctags found three different implementations of pthread_create function - libc_r, libkse and libthr: # pri kind tag file 1 F f _pthread_create lib/libc_r/uthread/uthread_create.c _pthread_create(pthread_t *thread, const pthread_attr_t *attr, 2 F f _pthread_create lib/libkse/thread/thr_create.c _pthread_create(pthread_t * thread, const pthread_attr_t * attr, 3 F f _pthread_create lib/libthr/thread/thr_create.c _pthread_create(pthread_t * thread, const pthread_attr_t * attr, I did a quick search in the google and found that libc_r (N:1 model) and libkse (N:M model) are no longer used in FreeBSD. So the only supported implementation of POSIX threads API is libthr (1:1 model), right? However, I found that both libc_r and libkse are still in /usr/src/lib. That looks like a bug because you even cannot build these libraries (I encountered compilation errors). I don't see obvious reason to keep such a dead code. Isn't it better to remove these libraries (of course you can still access the source code since SVN doesn't really delete anything)? If not, could you please explain why? Thanks! -- Sincerely yours, Dmitry V. Krivenok e-mail: krivenok.dmitry@gmail.com skype: krivenok_dmitry jabber: krivenok_dmitry@jabber.ru icq: 242-526-443