From: Ian Campbell <ian.campbell@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
Xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH 6/6] tools/libxl: Fix datacopier POLLHUP handling to not always be fatal
Date: Fri, 20 Feb 2015 14:05:16 +0000 [thread overview]
Message-ID: <1424441116.30924.258.camel@citrix.com> (raw)
In-Reply-To: <54E73CEF.8030407@citrix.com>
On Fri, 2015-02-20 at 13:55 +0000, Andrew Cooper wrote:
> >
> > It's a bit of a shame that callers which don't care about specific
> > pollhup handling have to provide two practically identical handlers.
>
> Up until this patch, all users either provided no POLLHUP handler, or
> provided the same handler for both function pointers.
Yes, and I'm saying it is a shame that those in the latter class now
have to provide two callbacks instead of the one they used before.
> > Is there any mileage in suggesting that the default callback type used
> > for copyfail too might return a bool too in order that they can be
> > shared? Even if it must always return True.
> >
> > Or perhaps some method to indicate that on pollhup, if pollhip callback
> > is NULL, use the regular callback? (where some method might be the
> > pollhup_callback==NULL itself?)
>
> Previously, every callback was issued after the datacopier had already
> been killed. Now, the pollhup callback is called before the kill has
> occurred, and is able to prevent the kill from happening.
>
> A different and far less invasive approach might be to have a per-fd
> revent ignore mask. This would at least allow the callbacks to be made
> when the datacopier is in a consistent state.
Ian, any thoughts on this?
next prev parent reply other threads:[~2015-02-20 14:05 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-18 16:34 [PATCH 0/6] tools/libxl: Improvements to libxl__datacopier Andrew Cooper
2015-02-18 16:34 ` [PATCH 1/6] tools/libxl: Introduce min and max macros Andrew Cooper
2015-02-20 10:24 ` Ian Campbell
2015-02-20 10:42 ` Frediano Ziglio
2015-02-20 11:08 ` Andrew Cooper
2015-02-18 16:34 ` [PATCH 2/6] tools/libxl: Update datacopier to support sending data only Andrew Cooper
2015-02-20 10:27 ` Ian Campbell
2015-02-20 11:10 ` Andrew Cooper
2015-02-20 11:13 ` Ian Campbell
2015-02-18 16:34 ` [PATCH 3/6] tools/libxl: Allow adding larger amounts of prefixdata to datacopier Andrew Cooper
2015-02-20 10:32 ` Ian Campbell
2015-02-18 16:34 ` [PATCH 4/6] tools/libxl: Allow limiting amount copied by datacopier Andrew Cooper
2015-02-20 10:33 ` Ian Campbell
2015-02-18 16:34 ` [PATCH 5/6] tools/libxl: Extend datacopier to support reading into a buffer Andrew Cooper
2015-02-20 10:34 ` Ian Campbell
2015-02-18 16:34 ` [PATCH 6/6] tools/libxl: Fix datacopier POLLHUP handling to not always be fatal Andrew Cooper
2015-02-20 10:43 ` Ian Campbell
2015-02-20 13:55 ` Andrew Cooper
2015-02-20 14:05 ` Ian Campbell [this message]
2015-03-03 18:10 ` Ian Jackson
2015-03-03 18:38 ` Andrew Cooper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1424441116.30924.258.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.