Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Oct 2009 10:38:34 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-threads@freebsd.org
Cc:        Jilles Tjoelker <jilles@stack.nl>
Subject:   Re: review request: making openat(2) a cancellation point
Message-ID:  <200910091038.34735.jhb@freebsd.org>
In-Reply-To: <20091005171729.GA2830@stack.nl>
References:  <20091005171729.GA2830@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 05 October 2009 1:17:29 pm Jilles Tjoelker wrote:
> While implementing a faster, cleaner and more compliant getcwd(3) using
> *at functions, I noticed that openat() was not a cancellation point
> (unlike open()). I think that should be fixed first, both for its own
> sake and because getcwd() will need to use _openat.
>=20
> I created the attached patch. It seems to work, I can still compile and
> run non-threaded and threaded programs using openat() and I can cancel a
> thread blocked in openat() (such as trying to open a fifo). I can also
> use _openat in libc. However, I think some review is appropriate because
> it all looks fairly complicated.
>=20
> Because libkse and libc_r don't seem to be built, I have not updated
> them.
>=20
> Note that this will cause threaded 9.x binaries that use openat() to
> break on 8.x. This is to be expected.

=46rom what I can tell the patch looks fine to me.

=2D-=20
John Baldwin



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