Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Jul 2005 11:35:58 -0400 (EDT)
From:      Daniel Eischen <deischen@freebsd.org>
To:        Norbert Koch <NKoch@demig.de>
Cc:        "Freebsd-Hackers@Freebsd. Org" <freebsd-hackers@freebsd.org>, Scott Long <scottl@samsco.org>
Subject:   RE: await & asleep
Message-ID:  <Pine.GSO.4.43.0507271127220.3439-100000@sea.ntplx.net>
In-Reply-To: <001801c59277$432fd960$4801a8c0@ws-ew-3.W2KDEMIG>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 27 Jul 2005, Norbert Koch wrote:

> > > The functions await() and asleep() in kern_synch.c
> > > are marked as EXPERIMENTAL/UNTESTED.
> > > Is this comment still valid? Does anyone have used
> > > those functions successfully? Should I better not
> > > use them in my device driver code for RELENG_4?
> > > How do I correctly cancel a request (as I should do
> > > according to the man page): "asleep (NULL, 0, NULL, 0)"?
> >
> > The await family was removed in 5.x and beyond, so trying to
> > use them in 4.x will make your driver very unportable.  There
> > are better ways than await to handle delayed events.

Well, there's tsleep() and wakeup() for FreeBSD < 5.0.  Other
than that, what else can you do?  These functions are deprecated
in 5.x and 6.x in favor of condvar(9) and mutex(9), so you should
really use those instead of tsleep() and wakeup().

It seems the kernel in -current is still using tsleep() and
wakeup() in some places.  I thought we got rid of all these...

-- 
DE




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.43.0507271127220.3439-100000>