Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Mar 2015 19:22:07 +0200
From:      Jilles Tjoelker <jilles@stack.nl>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        freebsd-hackers@FreeBSD.org, Ivan Radovanovic <radovanovic@gmail.com>
Subject:   Re: kevent behavior
Message-ID:  <20150329172207.GC95224@stack.nl>
In-Reply-To: <20150329160338.GZ2379@kib.kiev.ua>
References:  <550A6DA2.1070004@gmail.com> <20150324221541.GA67584@stack.nl> <20150325090041.GY2379@kib.kiev.ua> <20150325223530.GA79065@stack.nl> <20150326214551.GG2379@kib.kiev.ua> <20150326225826.GA97319@stack.nl> <20150327132654.GJ2379@kib.kiev.ua> <20150329150316.GB95224@stack.nl> <20150329160338.GZ2379@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 29, 2015 at 07:03:38PM +0300, Konstantin Belousov wrote:
> On Sun, Mar 29, 2015 at 05:03:16PM +0200, Jilles Tjoelker wrote:
> > On Fri, Mar 27, 2015 at 03:26:54PM +0200, Konstantin Belousov wrote:
> > > +Otherwise, i.e. if
> > > +.Fa nevents
> > > +is zero, the call is not cancellable.
> > 
> > > +Cancellation can only occur when the call was blocked and no changes
> > > +to the queue were requested.
> > 
> > This is not how the code works, but I think the code is correct. The
> > code also allows cancellation before anything happens. As such, if
> > cancellation occurs at kevent(2), the kqueue's state is unchanged (from
> > that call).
> Below is only a new diff for the man pages changes.  I found our list
> of the cancellation points in the pthread_testcancel(3), but did not
> checked it for correctness.

Given that the special case for fcntl() is mentioned in
pthread_testcancel(3) (only a cancellation point if cmd is F_SETLKW),
the same should be done for kevent().

Looks good to me otherwise.

-- 
Jilles Tjoelker



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