*BSD News Article 92497


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!newsfeed.direct.ca!nntp.portal.ca!van-bc!n1van.istar!van.istar!west.istar!ott.istar!istar.net!gateway.qnx.com!not-for-mail
From: doug@qnx.com (Doug Santry)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Linux or FreeBSD (or something else?)
Date: 31 Mar 1997 14:50:40 -0500
Organization: QNX Software Systems
Lines: 19
Message-ID: <5hp4ig$6qq@qnx.com>
References: <3337e3ad.1847437@news.sprynet.com> <5hmlnk$c3m@dfw-ixnews4.ix.netcom.com> <333EE7B4.237C228A@FreeBSD.org> <5hn11r$6gr@fido.asd.sgi.com>
NNTP-Posting-Host: gateway.qnx.com
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:38200

In article <5hn11r$6gr@fido.asd.sgi.com>,
Larry McVoy <lm@slovax.engr.sgi.com> wrote:
>Jordan K. Hubbard (jkh@FreeBSD.org) wrote:
>: That's all complete bollocks, unfortunately.  For one thing,
>: "mutlthreading" is something which can take place at two levels, the
>: application layer (POSIX threads) and the kernel.  You DO NOT NEED
>: kernel threads to do effective multithreaded applications, just working
>: user-mode threads (which FreeBSD has, including a specialized version of
>: libc which is thread safe).  
>
>So what happens when a thread blocks in read(2)?

You can multiplex I/O over context switches inside the threads library.  Catch
blocking calls, switch another thread and select on all FDs with blocked
threads once in a while(at least every context switch).

Lets not start another flame war over this...it has been done to death here!

DJS