From owner-freebsd-hackers@FreeBSD.ORG Wed May 21 16:03:33 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B3EF37B401 for ; Wed, 21 May 2003 16:03:33 -0700 (PDT) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C64F43F3F for ; Wed, 21 May 2003 16:03:32 -0700 (PDT) (envelope-from eischen@pcnet1.pcnet.com) Received: from pcnet1.pcnet.com (localhost [127.0.0.1]) by mail.pcnet.com (8.12.8/8.12.1) with ESMTP id h4LN3NwQ023417; Wed, 21 May 2003 19:03:23 -0400 (EDT) Received: from localhost (eischen@localhost)h4LN3Mx0023410; Wed, 21 May 2003 19:03:22 -0400 (EDT) Date: Wed, 21 May 2003 19:03:22 -0400 (EDT) From: Daniel Eischen To: Garrett Rooney In-Reply-To: <4B357E41-8BDF-11D7-88B0-000393CE23F4@electricjellyfish.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-hackers@freebsd.org cc: Julian Elischer cc: Jay Cornwall Subject: Re: USB bulk read & pthreads X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 May 2003 23:03:33 -0000 On Wed, 21 May 2003, Garrett Rooney wrote: > On Wednesday, May 21, 2003, at 06:44 PM, Jay Cornwall wrote: > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > On Wednesday 21 May 2003 00:40 am, Julian Elischer wrote: > > > >> You should load teh "linuxthreads" port > >> and link with that.. > > > > Ah, I hadn't noticed there was a port of this for FreeBSD. I'll give > > it a try, thanks. :) > > > >> under 5.x you will be able to use the native threads (we will have > >> several to choose from :-) > >> > >> under 4.x (I presume that's what you are using) the threading is all > >> in > >> one process and if a device decides to return "data waiting" in > >> select() > >> but keeps the reader waiting, it will block the entire process. > > > > Hmm, actually this is with a FreeBSD 5.0 (RELENG_5_0) system. The > > pppoa3 application uses libpthread for its threading implementation; > > does FreeBSD 5.0 (5.x?) have a different system for threading as well? > > Under 5.0 you would be using libc_r, which is a userland threading > implementation. A blocking call (like this one) will cause the whole > process to block. There are two new threading libraries (libthr, which > gives you basic 1-1 kernel threads, and libpthread, which gives you M-N > threading) which will be available in later releases of 5.x. FYI, libpthread is now being installed (for x86 archs) by default in -current and will be in 5.1-release. It's currently installed as libkse (use -lkse, not -pthread) and will be changed to libpthread (-lpthread) for 5.2-release. -- Dan Eischen