From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 2/3] libxl: Cope with pipes which signal POLLHUP|POLLIN on read eof Date: Thu, 2 Apr 2015 16:04:04 +0100 Message-ID: <1427987045-23435-2-git-send-email-ian.jackson@eu.citrix.com> References: <21789.23119.369227.882060@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <21789.23119.369227.882060@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xensource.com Cc: Wei Liu , Ian Campbell , Andrew Cooper , Ian Jackson , Ross Lagerwall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org U29tZSBvcGVyYXRpbmcgc3lzdGVtcyAoaW5jbHVkaW5nIEZyZWVCU0RbMV0pIHNpZ25hbCBub3Qg anVzdCBQT0xMSU4Kd2hlbiBhIHJlYWRpbmcgcGlwZSByZWFjaGVzIEVPRiwgYnV0IGFsc28gUE9M TEhVUC4gIFRoaXMgaXMKcGVybWl0dGVkWzJdLiAgQnV0IGRhdGFjb3BpZXJzIG1pc2hhbmRsZSB0 aGlzLCBiZWNhdXNlIHRoZXkgYWx3YXlzCnRyZWF0IFBPTExIVVAgZXhjZXB0aW9uYWxseSAoZWl0 aGVyIHJlcG9ydGluZyBpdCB2aWEgY2FsbGJhY2tfcG9sbGh1cCwKb3IgdHJlYXRpbmcgaXQgYXMg YW4gZXJyb3IpLiAgZGF0YWNvcGllcnMgcmVhZGluZyBmcm9tIHBpcGVzIG9uIHN1Y2gKT1NzIGNh biBmYWlsIChwZXJoYXBzIGxlYXZpbmcgc29tZSBkYXRhIHVucHJvY2Vzc2VkKSByYXRoZXIgdGhh bgpjb21wbGV0aW5nIHN1Y2Nlc3NmdWxseS4KClsxXSBodHRwOi8vd3d3LmdyZWVuZW5kLm9yZy51 ay9yamsvdGVjaC9wb2xsLmh0bWwKWzJdIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5l cHVicy85Njk5OTE5Nzk5L2Z1bmN0aW9ucy9wb2xsLmh0bWwKCk1vc3QgY2FsbGVycyBpbiBsaWJ4 bCBkbyBub3QgY2FyZSBhYm91dCBQT0xMSFVQIGV4Y2VwdCBhcyBhbiBlcnJvcgpjb25kaXRpb24u CgpTbyBjaGFuZ2UgdGhlIGRhdGFjb3BpZXIgc2VtYW50aWNzIHNvIHRoYXQgdW5sZXNzIGNhbGxi YWNrX3BvbGxodXAgaXMKc3BlY2lmaWVkIHdlIHRyZWF0IFBPTExIVVB8UE9MTElOIGFzIGlmIGl0 IHdlcmUgUE9MTElOIC0gYW5kLCByZWFkIGFsbAphdmFpbGFibGUgZGF0YSkuCgpUaGlzIGZpeGVz IHRoZSBwcm9ibGVtIHdoaWNoIDdlOWVjNTBiMDUzNSB3YXMgYWltZWQgYXQuCgpTaWduZWQtb2Zm LWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4KQ0M6IEFuZHJldyBD b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9ubsOpIDxy b2dlci5wYXVAY2l0cml4LmNvbT4KQ0M6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJp eC5jb20+CkNDOiBSb3NzIExhZ2Vyd2FsbCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4KQ0M6 IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfYW91 dGlscy5jICB8ICAgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgICAzICsr LQogMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfYW91dGlscy5jIGIvdG9vbHMvbGlieGwvbGlieGxf YW91dGlscy5jCmluZGV4IDM5NDI2MzQuLmMzMjMyYTYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2FvdXRpbHMuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9hb3V0aWxzLmMKQEAgLTIw OCw3ICsyMDgsNyBAQCBzdGF0aWMgdm9pZCBkYXRhY29waWVyX3JlYWRhYmxlKGxpYnhsX19lZ2Mg KmVnYywgbGlieGxfX2V2X2ZkICpldiwKICAgICBpZiAoZGF0YWNvcGllcl9wb2xsaHVwX2hhbmRs ZWQoZWdjLCBkYywgcmV2ZW50cywgMCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXZl bnRzICYgflBPTExJTikgeworICAgIGlmIChyZXZlbnRzICYgflBPTExJTiAmJiByZXZlbnRzICE9 IChQT0xMSU58UE9MTEhVUCkpIHsKICAgICAgICAgTE9HKEVSUk9SLCAidW5leHBlY3RlZCBwb2xs IGV2ZW50IDB4JXggKHNob3VsZCBiZSBQT0xMSU4pIgogICAgICAgICAgICAgIiBvbiAlcyBkdXJp bmcgY29weSBvZiAlcyIsIHJldmVudHMsIGRjLT5yZWFkd2hhdCwgZGMtPmNvcHl3aGF0KTsKICAg ICAgICAgZGF0YWNvcGllcl9jYWxsYmFjayhlZ2MsIGRjLCAtMSwgMCk7CmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu aAppbmRleCA3ZjgxZGQzLi5jNjk2OWYwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9p bnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTI1MzUsNyAr MjUzNSw4IEBAIHR5cGVkZWYgc3RydWN0IGxpYnhsX19kYXRhY29waWVyX2J1ZiBsaWJ4bF9fZGF0 YWNvcGllcl9idWY7CiAgKiAgICAgZXJybm92YWwhPTAgbWVhbnMgd2UgaGFkIGEgcmVhZCBlcnJv ciwgbG9nZ2VkCiAgKiBvbndyaXRlPT0tMSBtZWFucyBzb21lIG90aGVyIGludGVybmFsIGZhaWx1 cmUsIGVycm5vdmFsIG5vdCB2YWxpZCwgbG9nZ2VkCiAgKiBJZiB3ZSBnZXQgUE9MTEhVUCwgd2Ug Y2FsbCBjYWxsYmFja19wb2xsaHVwKC4uLiwgb253cml0ZSwgLTEpOwotICogb3IgaWYgY2FsbGJh Y2tfcG9sbGh1cD09MCB0aGlzIGlzIGFuIGludGVybmFsIGZhaWx1cmUsIGFzIGFib3ZlLgorICog b3IgaWYgY2FsbGJhY2tfcG9sbGh1cD09MCB0aGlzIGlzIHRyZWF0ZWQgYXMgZW9mIChpZiBQT0xM SU58UE9MTEhVUAorICogb24gdGhlIHJlYWRpbmcgZmQpIG9yIGFuIGludGVybmFsIGZhaWx1cmUg KG90aGVyd2lzZSksIGFzIGFib3ZlLgogICogSW4gYWxsIGNhc2VzIGNvcGllciBpcyBraWxsZWQg YmVmb3JlIGNhbGxpbmcgdGhpcyBjYWxsYmFjayAqLwogdHlwZWRlZiB2b2lkIGxpYnhsX19kYXRh Y29waWVyX2NhbGxiYWNrKGxpYnhsX19lZ2MgKmVnYywKICAgICAgbGlieGxfX2RhdGFjb3BpZXJf c3RhdGUgKmRjLCBpbnQgb253cml0ZSwgaW50IGVycm5vdmFsKTsKLS0gCjEuNy4xMC40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK