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>