USB bulk read & pthreads

Daniel Eischen eischen at pcnet1.pcnet.com
Wed May 21 16:03:33 PDT 2003


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



More information about the freebsd-hackers mailing list