Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jul 2000 22:42:27 -0600 (MDT)
From:      Nate Williams <nate@yogotech.com>
To:        Archie Cobbs <archie@whistle.com>
Cc:        Doug White <dwhite@resnet.uoregon.edu>, hackers@FreeBSD.ORG
Subject:   Re: kevent()/kqueue() in a multithreaded environment
Message-ID:  <200007290442.WAA25461@nomad.yogotech.com>
In-Reply-To: <200007281945.MAA26198@bubba.whistle.com>
References:  <Pine.BSF.4.21.0007271246160.56534-100000@resnet.uoregon.edu> <200007281945.MAA26198@bubba.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> > You normally wouldn't mix kqueue and threads; you'd use kqueue to
> > *implement* threads. :-)
> > 
> > AFAIK kqueue hasn't been made threadsafe, you'll have to bug
> > jlemon@freebsd.org about it. Patches gladly accepted :)
> 
> I may be just being stupid but I don't understand that last sentence.
> 
> I thought kqueue() and kevent() were system calls... how can they
> not be thread safe?

I think there is a mis-communication here.  They are thread 'safe', but
if called, they block out all other 'threads' from running, so using
kqueue doesn't allow for multiple threads to run 'concurrently'.

In other words, a wrapper needs to be written so it can work in a
'threaded' environment effeciently.


Nate


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007290442.WAA25461>