Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Feb 2010 08:57:12 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-threads@freebsd.org
Cc:        Daniel Eischen <deischen@freebsd.org>, "threads@freebsd.org" <threads@freebsd.org>
Subject:   Re: Thinking about kqueue's and pthread_cond_wait
Message-ID:  <201002110857.12206.jhb@freebsd.org>
In-Reply-To: <7EDE50FA-DE52-46C0-B88A-BCA9CBF934A6@vigrid.com>
References:  <3581A86D-9C9C-4E08-9AD3-CD550B180CED@lakerest.net> <20100210200631.GE71374@elvis.mu.org> <7EDE50FA-DE52-46C0-B88A-BCA9CBF934A6@vigrid.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 10 February 2010 7:10:53 pm Daniel Eischen wrote:
> On Feb 10, 2010, at 3:06 PM, Alfred Perlstein <alfred@freebsd.org>  
> wrote:
> 
> > * Daniel Eischen <deischen@freebsd.org> [100210 12:01] wrote:
> >>
> >>
> >> I strongly disagree.  Using mutexes and condition variables in the
> >> proper way is not as easy as it sounds, let alone trying to mix
> >> them as userland thingies into kqueue.
> >>
> >> I will strongly oppose this...
> >
> > Well then you "win".  I have no desire to engage in such discussion.
> >
> > I do hope that when you see this facility leveraged elsewhere for
> > an application that you reflect on this conversation and think back
> > on it the next time an opportunity presents itself to lead in
> > functionality.
> 
> Don't misunderstand me, I just don't think running around the tree and  
> adapting all the userland leaves to kqueue-isize them is the right  
> approach.  IMHO, it's better to extend the kqueue/kevent mechanism to  
> allow a generic object to be added to the event list and the kqueue to  
> be signaled from userland.  All the pthread and semaphore functions  
> are userland operations that also rely on userland structures anyway.

kqueue/kevent already support that via EVFILT_USER, and Apple's GCD depends on 
this extensively.  However, my point from my earlier post still stands and I 
think it is the right way to implement something like NT's 
WaitForMultipleObjects().

-- 
John Baldwin



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