Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Apr 2015 09:26:23 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-arch@freebsd.org
Cc:        Konstantin Belousov <kostikbel@gmail.com>
Subject:   Re: Make ppoll(2) and waitid(2) cancellation points
Message-ID:  <1618723.JaybXFdLjb@ralph.baldwin.cx>
In-Reply-To: <20150417075933.GH2390@kib.kiev.ua>
References:  <20150417075933.GH2390@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, April 17, 2015 10:59:33 AM Konstantin Belousov wrote:
> Patch below makes ppoll(2) and waitid(2) cancellable.
> 
> The waitid(2) is required to be a cancellation point by POSIX, so the
> change fixes a definite bug. It is done by making wait6() cancellable,
> in line with the other wait*(2) syscalls.
> 
> For ppoll(2), our other select/poll interfaces are cancel points, i.e.
> select, pselect, and poll. It is reasonable for ppoll() to follow the
> suite.
> 
> The interposing table was extended at the end, instead of ordering new
> interposers by alphabet.  It would be acceptable, but makes it easier
> for people to run new libc with older libthr (although not supported).

Sounds good to me.

> diff --git a/lib/libc/sys/wait6.c b/lib/libc/sys/wait6.c
> new file mode 100644
> index 0000000..f0e2999
> --- /dev/null
> +++ b/lib/libc/sys/wait6.c
> @@ -0,0 +1,52 @@
> +/*
> + * Copyright (c) 2014 The FreeBSD Foundation.
> + * All rights reserved.

s/2014/2015/?

-- 
John Baldwin



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