From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH 2/3] libxl: Cope with pipes which signal POLLHUP|POLLIN on read eof Date: Thu, 2 Apr 2015 16:13:44 +0100 Message-ID: <1427987624.4037.88.camel@citrix.com> References: <21789.23119.369227.882060@mariner.uk.xensource.com> <1427987045-23435-2-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1427987045-23435-2-git-send-email-ian.jackson@eu.citrix.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: Ian Jackson Cc: Andrew Cooper , xen-devel@lists.xensource.com, Ross Lagerwall , Wei Liu , Roger Pau =?ISO-8859-1?Q?Monn=E9?= List-Id: xen-devel@lists.xenproject.org T24gVGh1LCAyMDE1LTA0LTAyIGF0IDE2OjA0ICswMTAwLCBJYW4gSmFja3NvbiB3cm90ZToKPiBT b21lIG9wZXJhdGluZyBzeXN0ZW1zIChpbmNsdWRpbmcgRnJlZUJTRFsxXSkgc2lnbmFsIG5vdCBq dXN0IFBPTExJTgo+IHdoZW4gYSByZWFkaW5nIHBpcGUgcmVhY2hlcyBFT0YsIGJ1dCBhbHNvIFBP TExIVVAuICBUaGlzIGlzCj4gcGVybWl0dGVkWzJdLiAgQnV0IGRhdGFjb3BpZXJzIG1pc2hhbmRs ZSB0aGlzLCBiZWNhdXNlIHRoZXkgYWx3YXlzCj4gdHJlYXQgUE9MTEhVUCBleGNlcHRpb25hbGx5 IChlaXRoZXIgcmVwb3J0aW5nIGl0IHZpYSBjYWxsYmFja19wb2xsaHVwLAo+IG9yIHRyZWF0aW5n IGl0IGFzIGFuIGVycm9yKS4gIGRhdGFjb3BpZXJzIHJlYWRpbmcgZnJvbSBwaXBlcyBvbiBzdWNo Cj4gT1NzIGNhbiBmYWlsIChwZXJoYXBzIGxlYXZpbmcgc29tZSBkYXRhIHVucHJvY2Vzc2VkKSBy YXRoZXIgdGhhbgo+IGNvbXBsZXRpbmcgc3VjY2Vzc2Z1bGx5Lgo+IAo+IFsxXSBodHRwOi8vd3d3 LmdyZWVuZW5kLm9yZy51ay9yamsvdGVjaC9wb2xsLmh0bWwKPiBbMl0gaHR0cDovL3B1YnMub3Bl bmdyb3VwLm9yZy9vbmxpbmVwdWJzLzk2OTk5MTk3OTkvZnVuY3Rpb25zL3BvbGwuaHRtbAo+IAo+ IE1vc3QgY2FsbGVycyBpbiBsaWJ4bCBkbyBub3QgY2FyZSBhYm91dCBQT0xMSFVQIGV4Y2VwdCBh cyBhbiBlcnJvcgo+IGNvbmRpdGlvbi4KPiAKPiBTbyBjaGFuZ2UgdGhlIGRhdGFjb3BpZXIgc2Vt YW50aWNzIHNvIHRoYXQgdW5sZXNzIGNhbGxiYWNrX3BvbGxodXAgaXMKPiBzcGVjaWZpZWQgd2Ug dHJlYXQgUE9MTEhVUHxQT0xMSU4gYXMgaWYgaXQgd2VyZSBQT0xMSU4gLSBhbmQsIHJlYWQgYWxs Cj4gYXZhaWxhYmxlIGRhdGEpLgoKUHVuY3R1YXRpb24gaXMgb2RkIHRvd2FyZHMgdGhlIGVuZCwg YSBzdHJheSBsb29raW5nICItIiBhbmQgYW4gdW5tYXRjaGVkCiIpIi4gCgo+IFRoaXMgZml4ZXMg dGhlIHByb2JsZW0gd2hpY2ggN2U5ZWM1MGIwNTM1IHdhcyBhaW1lZCBhdC4KPiAKPiBTaWduZWQt b2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4KPiBDQzogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KPiBDQzogUm9nZXIgUGF1IE1v bm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgpBY2tlZC1ieTogSWFuIENhbXBiZWxsIDxpYW4u Y2FtcGJlbGxAY2l0cml4LmNvbT4KCj4gQ0M6IFJvc3MgTGFnZXJ3YWxsIDxyb3NzLmxhZ2Vyd2Fs bEBjaXRyaXguY29tPgo+IENDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgo+IC0tLQo+ ICB0b29scy9saWJ4bC9saWJ4bF9hb3V0aWxzLmMgIHwgICAgMiArLQo+ICB0b29scy9saWJ4bC9s aWJ4bF9pbnRlcm5hbC5oIHwgICAgMyArKy0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs X2FvdXRpbHMuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2FvdXRpbHMuYwo+IGluZGV4IDM5NDI2MzQu LmMzMjMyYTYgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYW91dGlscy5jCj4gKysr IGIvdG9vbHMvbGlieGwvbGlieGxfYW91dGlscy5jCj4gQEAgLTIwOCw3ICsyMDgsNyBAQCBzdGF0 aWMgdm9pZCBkYXRhY29waWVyX3JlYWRhYmxlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X2Zk ICpldiwKPiAgICAgIGlmIChkYXRhY29waWVyX3BvbGxodXBfaGFuZGxlZChlZ2MsIGRjLCByZXZl bnRzLCAwKSkKPiAgICAgICAgICByZXR1cm47Cj4gIAo+IC0gICAgaWYgKHJldmVudHMgJiB+UE9M TElOKSB7Cj4gKyAgICBpZiAocmV2ZW50cyAmIH5QT0xMSU4gJiYgcmV2ZW50cyAhPSAoUE9MTElO fFBPTExIVVApKSB7CgpBSVVJIHlvdSBhcmUgY2hlY2tpbmcgInJldmVudHMgIT0gKFBPTExJTnxQ T0xMSFVQKSIgcmF0aGVyIHRoYW4KIihyZXZlbnRzJigoUE9MTElOfFBPTExIVVApKSAhPSAoUE9M TElOfFBPTExIVVApIiBiZWNhdXNlIGUuZy4gUE9MTElOfApQT0xMSFVQfFBPTExPVVQgaXMgbm9u c2Vuc2ljYWwgYW5kIGlzIG5ldmVyIGV4cGVjdGVkLgoKPiAgICAgICAgICBMT0coRVJST1IsICJ1 bmV4cGVjdGVkIHBvbGwgZXZlbnQgMHgleCAoc2hvdWxkIGJlIFBPTExJTikiCj4gICAgICAgICAg ICAgICIgb24gJXMgZHVyaW5nIGNvcHkgb2YgJXMiLCByZXZlbnRzLCBkYy0+cmVhZHdoYXQsIGRj LT5jb3B5d2hhdCk7Cj4gICAgICAgICAgZGF0YWNvcGllcl9jYWxsYmFjayhlZ2MsIGRjLCAtMSwg MCk7Cj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCj4gaW5kZXggN2Y4MWRkMy4uYzY5NjlmMCAxMDA2NDQKPiAt LS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCj4gKysrIGIvdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuaAo+IEBAIC0yNTM1LDcgKzI1MzUsOCBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4 bF9fZGF0YWNvcGllcl9idWYgbGlieGxfX2RhdGFjb3BpZXJfYnVmOwo+ICAgKiAgICAgZXJybm92 YWwhPTAgbWVhbnMgd2UgaGFkIGEgcmVhZCBlcnJvciwgbG9nZ2VkCj4gICAqIG9ud3JpdGU9PS0x IG1lYW5zIHNvbWUgb3RoZXIgaW50ZXJuYWwgZmFpbHVyZSwgZXJybm92YWwgbm90IHZhbGlkLCBs b2dnZWQKPiAgICogSWYgd2UgZ2V0IFBPTExIVVAsIHdlIGNhbGwgY2FsbGJhY2tfcG9sbGh1cCgu Li4sIG9ud3JpdGUsIC0xKTsKPiAtICogb3IgaWYgY2FsbGJhY2tfcG9sbGh1cD09MCB0aGlzIGlz IGFuIGludGVybmFsIGZhaWx1cmUsIGFzIGFib3ZlLgo+ICsgKiBvciBpZiBjYWxsYmFja19wb2xs aHVwPT0wIHRoaXMgaXMgdHJlYXRlZCBhcyBlb2YgKGlmIFBPTExJTnxQT0xMSFVQCj4gKyAqIG9u IHRoZSByZWFkaW5nIGZkKSBvciBhbiBpbnRlcm5hbCBmYWlsdXJlIChvdGhlcndpc2UpLCBhcyBh Ym92ZS4KPiAgICogSW4gYWxsIGNhc2VzIGNvcGllciBpcyBraWxsZWQgYmVmb3JlIGNhbGxpbmcg dGhpcyBjYWxsYmFjayAqLwo+ICB0eXBlZGVmIHZvaWQgbGlieGxfX2RhdGFjb3BpZXJfY2FsbGJh Y2sobGlieGxfX2VnYyAqZWdjLAo+ICAgICAgIGxpYnhsX19kYXRhY29waWVyX3N0YXRlICpkYywg aW50IG9ud3JpdGUsIGludCBlcnJub3ZhbCk7CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==