From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH] libxenstore: Use poll() with a non-blocking read() Date: Mon, 17 Aug 2015 09:44:27 -0400 Message-ID: <55D1E53B.4060105@oracle.com> References: <1439502287-5520-1-git-send-email-jonathan.creekmore@gmail.com> <1439715572.3480.19.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZRKjK-00030x-RE for xen-devel@lists.xenproject.org; Mon, 17 Aug 2015 13:45:39 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jonathan Creekmore , Ian Campbell Cc: vitalii.chernookyi@globallogic.com, stefano.stabellini@eu.citrix.com, ian.jackson@eu.citrix.com, David Vrabel , xen-devel@lists.xenproject.org, wei.liu@citrix.com List-Id: xen-devel@lists.xenproject.org T24gMDgvMTYvMjAxNSAwODo0NiBQTSwgSm9uYXRoYW4gQ3JlZWttb3JlIHdyb3RlOgo+PiBPbiBB dWcgMTYsIDIwMTUsIGF0IDE6NTkgQU0sIElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJp eC5jb20+IHdyb3RlOgo+Pgo+PiBPbiBUaHUsIDIwMTUtMDgtMTMgYXQgMTY6NDQgLTA1MDAsIEpv bmF0aGFuIENyZWVrbW9yZSB3cm90ZToKPj4+IFdpdGggdGhlIGFkZGl0aW9uIG9mIEZNT0RFX0FU T01JQ19QT1MgaW4gdGhlIExpbnV4IDMuMTQga2VybmVsLAo+Pj4gY29uY3VycmVudCBibG9ja2lu ZyBmaWxlIGFjY2Vzc2VzIHRvIGEgc2luZ2xlIG9wZW4gZmlsZSBkZXNjcmlwdG9yIGNhbgo+Pj4g Y2F1c2UgYSBkZWFkbG9jayB0cnlpbmcgdG8gZ3JhYiB0aGUgZmlsZSBwb3NpdGlvbiBsb2NrLiBJ ZiBhIHdhdGNoIGhhcwo+Pj4gYmVlbiBzZXQgdXAsIGNhdXNpbmcgYSByZWFkX3RocmVhZCB0byBi bG9ja2luZyByZWFkIG9uIHRoZSBmaWxlCj4+PiBkZXNjcmlwdG9yLCB0aGVuIGZ1dHVyZSB3cml0 ZXMgdGhhdCB3b3VsZCBjYXVzZSB0aGUgYmFja2dyb3VuZCByZWFkIHRvCj4+PiBjb21wbGV0ZSB3 aWxsIGJsb2NrIHdhaXRpbmcgb24gdGhlIGZpbGUgcG9zaXRpb24gbG9jayBiZWZvcmUgdGhleSBj YW4KPj4+IGV4ZWN1dGUuCj4+IFRoaXMgc291bmRzIGxpa2UgeW91IGFyZSBkZXNjcmliaW5nIGEg a2VybmVsIGJ1Zy4gU2hvdWxkbid0IHRoaXMgYmUKPj4gZml4ZWQgaW4gdGhlIGtlcm5lbD8KCkl0 IGlzIGEgYnVnIGluIHRoZSBzZW5zZSB0aGF0IGFkZGl0aW9uIG9mIEZNT0RFX0FUT01JQ19QT1Mg Y2hhbmdlZCAKdXNlci12aXNpYmxlIGJlaGF2aW9yLiBBbmQgYSBmaXggd2FzIHN1Z2dlc3RlZCBp biAKaHR0cDovL3Blcm1hbGluay5nbWFuZS5vcmcvZ21hbmUubGludXguZmlsZS1zeXN0ZW1zLzkz OTY5IC4KCkNvcHlpbmcgVml0YWxpaSB3aG8gc2VudCBhbiBlYXJseSB2ZXJzaW9uIG9mIHRoYXQg cGF0Y2guCgotYm9yaXMKCj4+Cj4+IEluIGZhY3QgaXQgZXZlbiBzb3VuZHMgYSBiaXQgZmFtaWxp YXIsIEkgd29uZGVyIGlmIGl0IGlzIGZpeGVkIGluIHNvbWUKPj4gdmVyc2lvbiBvZiBMaW51eCA+ PiAzLjE0PyAoQ0NpbmcgYSBmZXcgcmVsZXZhbnQgbWFpbnRhaW5lcnMpCj4+Cj4gU28sIHRoZSBs YXRlc3QgSSBzYXcgb24gdGhlIExLTUwsIHRoZSBwcm9ibGVtIHN0aWxsIGV4aXN0ZWQgYXMgb2Yg My4xNyBhbmQsIGxvb2tpbmcgZm9yd2FyZCB0aHJvdWdoIDQuMiwgdGhlIHByb2JsZW0gc3RpbGwg ZXhpc3RzIHRoZXJlIGFzIHdlbGwuIEkgc2F3IGEgZmV3IHBvc3RzIGJhY2sgaW4gTWFyY2ggMjAx NSB0YWxraW5nIGFib3V0IHRoZSBkZWFkbG9jaywgYnV0IGl0IGFwcGVhcmVkIHRvIGhhdmUgZ290 dGVuIG5vIHRyYWN0aW9uLiBJdCBpc27igJl0IGEgZGVhZGxvY2sgaW4gdGhlIGtlcm5lbCwgYnV0 IHJhdGhlciBhIGRlYWRsb2NrIGJldHdlZW4gdGhlIHR3byBibG9ja2luZyByZWFkcyBvciBhIGJs b2NraW5nIHJlYWQgb3Igd3JpdGUuIFRoZSBzbGlnaHQgcmV3cml0ZSBJIGFwcGxpZWQgaW4gbXkg cGF0Y2ggZWZmZWN0aXZlbHkgd29ya3MgYXJvdW5kIHRoZSBwcm9ibGVtIGFuZCBwcmV2ZW50cyB0 aGUgbGlicmFyeSBmcm9tIGZsaXAtZmxvcHBpbmcgdGhlIG5vbmJsb2NraW5nIGZsYWcgb24gdGhl IGZpbGUgZGVzY3JpcHRvciBiZXR3ZWVuIHR3byB0aHJlYWRzLgo+Cj4KPj4+IFRoaXMgcmFjZSBj b25kaXRpb24gb25seSBvY2N1cnMgd2hlbiBsaWJ4ZW5zdG9yZSBpcyBhY2Nlc3NpbmcKPj4+IHRo ZSB4ZW5zdG9yZSBkYWVtb24gdGhyb3VnaCB0aGUgL3Byb2MveGVuL3hlbmJ1cyBmaWxlIGFuZCBu b3QgdGhyb3VnaAo+Pj4gdGhlIHVuaXggZG9tYWluIHNvY2tldCwgd2hpY2ggaXMgdGhlIGNhc2Ug d2hlbiB0aGUgeGVuc3RvcmUgZGFlbW9uIGlzCj4+PiBydW5uaW5nIGFzIGEgc3R1YiBkb21haW4g b3Igd2hlbiBveGVuc3RvcmVkIGlzIHBhc3NlZCAtLWRpc2FibGUtc29ja2V0Lgo+Pj4KPj4+IEFy Z3VhYmx5LCBzaW5jZSB0aGUgL3Byb2MveGVuL3hlbmJ1cyBmaWxlIGlzIGRlY2xhcmVkIG5vbnNl ZWthYmxlLCB0aGVuCj4+PiB0aGUgZmlsZSBwb3NpdGlvbiBsb2NrIG5lZWQgbm90IGJlIGdyYWJi ZWQsIHNpbmNlIHRoZSBmaWxlIGNhbm5vdCBiZQo+Pj4gc2Vla2VkLiBIb3dldmVyLCB0aGF0IGlz IG5vdCBob3cgdGhlIGtlcm5lbCBBUEkgd29ya3MuIE9uIHRoZSBvdGhlcgo+Pj4gaGFuZCwgdXNp bmcgdGhlIHBvbGwoKSBBUEkgdG8gaW1wbGVtZW50IHRoZSBibG9ja2luZyBmb3IgdGhlIHJlYWRf YWxsKCkKPj4+IGZ1bmN0aW9uIHByZXZlbnRzIHRoZSBmaWxlIGRlc2NyaXB0b3IgZnJvbSBiZWlu ZyBzd2l0Y2hlZCBiYWNrIGFuZCBmb3J0aAo+Pj4gYmV0d2VlbiBibG9ja2luZyBhbmQgbm9uLWJs b2NraW5nIG1vZGVzIGJldHdlZW4gdHdvIHRocmVhZHMuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTog Sm9uYXRoYW4gQ3JlZWttb3JlIDxqb25hdGhhbi5jcmVla21vcmVAZ21haWwuY29tPgo+Pj4gLS0t Cj4+PiB0b29scy94ZW5zdG9yZS94cy5jIHwgNTIgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+Pj4gLS0tLS0tLS0tCj4+PiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5z ZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hl bnN0b3JlL3hzLmMgYi90b29scy94ZW5zdG9yZS94cy5jCj4+PiBpbmRleCBkMWUwMWJhLi45Yjc1 NDkzIDEwMDY0NAo+Pj4gLS0tIGEvdG9vbHMveGVuc3RvcmUveHMuYwo+Pj4gKysrIGIvdG9vbHMv eGVuc3RvcmUveHMuYwo+Pj4gQEAgLTMxLDYgKzMxLDcgQEAKPj4+ICNpbmNsdWRlIDxzaWduYWwu aD4KPj4+ICNpbmNsdWRlIDxzdGRpbnQuaD4KPj4+ICNpbmNsdWRlIDxlcnJuby5oPgo+Pj4gKyNp bmNsdWRlIDxwb2xsLmg+Cj4+PiAjaW5jbHVkZSAieGVuc3RvcmUuaCIKPj4+ICNpbmNsdWRlICJs aXN0LmgiCj4+PiAjaW5jbHVkZSAidXRpbHMuaCIKPj4+IEBAIC0xNDUsMjIgKzE0Niw2IEBAIHN0 cnVjdCB4c19oYW5kbGUgewo+Pj4KPj4+IHN0YXRpYyBpbnQgcmVhZF9tZXNzYWdlKHN0cnVjdCB4 c19oYW5kbGUgKmgsIGludCBub25ibG9ja2luZyk7Cj4+Pgo+Pj4gLXN0YXRpYyBib29sIHNldG5v bmJsb2NrKGludCBmZCwgaW50IG5vbmJsb2NrKSB7Cj4+PiAtCWludCBmbGFncyA9IGZjbnRsKGZk LCBGX0dFVEZMKTsKPj4+IC0JaWYgKGZsYWdzID09IC0xKQo+Pj4gLQkJcmV0dXJuIGZhbHNlOwo+ Pj4gLQo+Pj4gLQlpZiAobm9uYmxvY2spCj4+PiAtCQlmbGFncyB8PSBPX05PTkJMT0NLOwo+Pj4g LQllbHNlCj4+PiAtCQlmbGFncyAmPSB+T19OT05CTE9DSzsKPj4+IC0KPj4+IC0JaWYgKGZjbnRs KGZkLCBGX1NFVEZMLCBmbGFncykgPT0gLTEpCj4+PiAtCQlyZXR1cm4gZmFsc2U7Cj4+PiAtCj4+ PiAtCXJldHVybiB0cnVlOwo+Pj4gLX0KPj4+IC0KPj4+IGludCB4c19maWxlbm8oc3RydWN0IHhz X2hhbmRsZSAqaCkKPj4+IHsKPj4+IAljaGFyIGMgPSAwOwo+Pj4gQEAgLTIxNiw3ICsyMDEsNyBA QCBlcnJvcjoKPj4+IHN0YXRpYyBpbnQgZ2V0X2Rldihjb25zdCBjaGFyICpjb25uZWN0X3RvKQo+ Pj4gewo+Pj4gCS8qIFdlIGNhbm5vdCBvcGVuIHJlYWQtb25seSBiZWNhdXNlIHJlcXVlc3RzIGFy ZSB3cml0ZXMgKi8KPj4+IC0JcmV0dXJuIG9wZW4oY29ubmVjdF90bywgT19SRFdSKTsKPj4+ICsJ cmV0dXJuIG9wZW4oY29ubmVjdF90bywgT19SRFdSIHwgT19OT05CTE9DSyk7Cj4+PiB9Cj4+Pgo+ Pj4gc3RhdGljIHN0cnVjdCB4c19oYW5kbGUgKmdldF9oYW5kbGUoY29uc3QgY2hhciAqY29ubmVj dF90bykKPj4+IEBAIC0zNjUsNDIgKzM1MCwzNyBAQCBzdGF0aWMgYm9vbCByZWFkX2FsbChpbnQg ZmQsIHZvaWQgKmRhdGEsCj4+PiB1bnNpZ25lZCBpbnQgbGVuLCBpbnQgbm9uYmxvY2tpbmcpCj4+ PiAJLyogV2l0aCBub25ibG9ja2luZywgZWl0aGVyIHJlYWRzIGVpdGhlciBldmVyeXRoaW5nCj4+ PiByZXF1ZXN0ZWQsCj4+PiAJICogb3Igbm90aGluZy4gKi8KPj4+IHsKPj4+IC0JaWYgKCFsZW4p Cj4+PiAtCQlyZXR1cm4gdHJ1ZTsKPj4+IC0KPj4+IC0JaWYgKG5vbmJsb2NraW5nICYmICFzZXRu b25ibG9jayhmZCwgMSkpCj4+PiAtCQlyZXR1cm4gZmFsc2U7Cj4+PiArCWludCBkb25lOwo+Pj4g KwlzdHJ1Y3QgcG9sbGZkIGZkc1tdID0gewo+Pj4gKwkJewo+Pj4gKwkJCS5mZCA9IGZkLAo+Pj4g KwkJCS5ldmVudHMgPSBQT0xMSU4KPj4+ICsJCX0KPj4+ICsJfTsKPj4+Cj4+PiAJd2hpbGUgKGxl bikgewo+Pj4gLQkJaW50IGRvbmU7Cj4+PiArCQlpZiAoIW5vbmJsb2NraW5nKSB7Cj4+PiArCQkJ aWYgKHBvbGwoZmRzLCAxLCAtMSkgPCAxKSB7Cj4+PiArCQkJCXJldHVybiBmYWxzZTsKPj4+ICsJ CQl9Cj4+PiArCQl9Cj4+Pgo+Pj4gCQlkb25lID0gcmVhZChmZCwgZGF0YSwgbGVuKTsKPj4+IAkJ aWYgKGRvbmUgPCAwKSB7Cj4+PiAJCQlpZiAoZXJybm8gPT0gRUlOVFIpCj4+PiAJCQkJY29udGlu dWU7Cj4+PiAtCQkJZ290byBvdXRfZmFsc2U7Cj4+PiArCQkJcmV0dXJuIGZhbHNlOwo+Pj4gCQl9 Cj4+PiAJCWlmIChkb25lID09IDApIHsKPj4+IAkJCS8qIEl0IGNsb3NlZCBmZCBvbiB1cz8gIEVC QURGIGlzCj4+PiBhcHByb3ByaWF0ZS4gKi8KPj4+IAkJCWVycm5vID0gRUJBREY7Cj4+PiAtCQkJ Z290byBvdXRfZmFsc2U7Cj4+PiArCQkJcmV0dXJuIGZhbHNlOwo+Pj4gCQl9Cj4+PiAJCWRhdGEg Kz0gZG9uZTsKPj4+IAkJbGVuIC09IGRvbmU7Cj4+PiAtCj4+PiAtCQlpZiAobm9uYmxvY2tpbmcp IHsKPj4+IC0JCQlub25ibG9ja2luZyA9IDA7Cj4+PiAtCQkJaWYgKCFzZXRub25ibG9jayhmZCwg MCkpCj4+PiAtCQkJCWdvdG8gb3V0X2ZhbHNlOwo+Pj4gLQkJfQo+Pj4gCX0KPj4+Cj4+PiAJcmV0 dXJuIHRydWU7Cj4+PiAtCj4+PiAtb3V0X2ZhbHNlOgo+Pj4gLQlpZiAobm9uYmxvY2tpbmcpCj4+ PiAtCQlzZXRub25ibG9jayhmZCwgMCk7Cj4+PiAtCXJldHVybiBmYWxzZTsKPj4+IH0KPj4+Cj4+ PiAjaWZkZWYgWFNURVNUCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK