From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v8 01/17] libxl: Enhance libxl__sendmsg_fds to deal with EINTR and EWOULDBLOCK Date: Fri, 4 Jan 2019 15:30:40 +0000 Message-ID: <20190104153056.19138-2-anthony.perard@citrix.com> References: <20190104153056.19138-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gfRR6-0008JT-OC for xen-devel@lists.xenproject.org; Fri, 04 Jan 2019 15:31:00 +0000 In-Reply-To: <20190104153056.19138-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGxpYnhsX19zZW5kbXNnX2ZkcyB0byBy ZXRyeSBzZW5kbXNnIG9uCkVJTlRSIGVycm9yIGFuZCByZXR1cm4gYW4gZXJyb3Igb24gc2hvcnQg d3JpdGVzLgoKVGhpcyBwYXRjaCBhbGxvdyBhIGNhbGxlciBvZiBsaWJ4bF9fc2VuZG1zZ19mZHMg dG8gZGVhbCB3aXRoIEVXT1VMREJMT0NLCmFuZCBzaG9ydCB3cml0ZXMuIFRoZSBmdW5jdGlvbiBu b3cgcmVxdWlyZXMgdG8gc2VuZCBvbmx5IDEgYnl0ZSBvZiBkYXRhCnNvIHRoYXQgd2hlbiBkZWFs aW5nIHdpdGggbm9uLWJsb2NraW5nIGZkcyBhIEVXT1VMREJMT0NLIGVycm9yIHdvdWxkCm1lYW4g dGhhdCB0aGUgZmRzIGhhdmVuJ3QgYmVlbiBzZW50IHlldC4gQ3VycmVudCBjYWxsZXIgYWxyZWFk eSBzZW5kCm9ubHkgMSBieXRlLgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhv bnkucGVyYXJkQGNpdHJpeC5jb20+CkFja2VkLWJ5OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25A ZXUuY2l0cml4LmNvbT4KLS0tCgpOb3RlczoKICAgIHY4OgogICAgICAgIEFja2VkLCBidXQ6CiAg ICAgICAgICAgIC0gdGhlcmUgaXMgYSBmb2xsb3ctdXAgcGF0Y2ggdG8gZ2V0IHJpZCBvZiBkYXRh bGVuIHBhcmFtLgogICAgICAgICAgICAtIGNvbW1pdCBtZXNzYWdlIGhhdmUgYmVlbiBtb2RpZmll ZCBhIGJpdCB0byB0YWxrIGFib3V0IHNob3J0CiAgICAgICAgICAgICAgd3JpdGUgaW4gZ2VuZXJh bC4KICAgIAogICAgdjc6CiAgICAgICAgYWx3YXlzIGFzc2VydCBkYXRhbGVuID09IDEsIGJ1dCBv bmx5IGZhaWwgd2hlbiBzZW5kbXNnIGhhdmVuJ3Qgc2VuZAogICAgICAgIGV2ZXJ5dGhpbmcgKHIg IT0gZGF0YWxlbikKICAgICAgICBjaGVjayBzZW5kbXNnIHJldHVybiB2YWx1ZSBvbiBzdWNjZXNz IGFzIHdlbGwgKGNoZWNrIGZvciBzaG9ydCB3cml0ZSkKCiB0b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oIHwgIDUgKysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3V0aWxzLmMgICAgfCAyNSArKysr KysrKysrKysrKysrKysrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyks IDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu aCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggNjdmM2Y2YWM3Ni4uYWE5MDU5 ZmZlYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0xODc2LDcgKzE4NzYsMTAgQEAgX2hpZGRlbiB2 b2lkIGxpYnhsX19xbXBfY2xlYW51cChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCk7CiBf aGlkZGVuIGludCBsaWJ4bF9fcW1wX2luaXRpYWxpemF0aW9ucyhsaWJ4bF9fZ2MgKmdjLCB1aW50 MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGxpYnhsX2RvbWFpbl9jb25maWcgKmd1ZXN0X2NvbmZpZyk7CiAKLS8qIG9uIGZhaWx1cmUsIGxv Z3MgKi8KKy8qIGBkYXRhbGVuYCBzaG91bGQgYmUgMSBieXRlCisgKiBXaGVuIGRlYWxpbmcgd2l0 aCBhIG5vbi1ibG9ja2luZyBmZCwgaXQgcmV0dXJucworICogICBFUlJPUl9OT1RfUkVBRFkgb24g RVdPVUxEQkxPQ0sKKyAqIGxvZ3Mgb24gb3RoZXIgZmFpbHVyZXMuICovCiBpbnQgbGlieGxfX3Nl bmRtc2dfZmRzKGxpYnhsX19nYyAqZ2MsIGludCBjYXJyaWVyLAogICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgZGF0YWxlbiwKICAgICAgICAgICAgICAgICAg ICAgICAgaW50IG5mZHMsIGNvbnN0IGludCBmZHNbXSwgY29uc3QgY2hhciAqd2hhdCk7CmRpZmYg LS1naXQgYS90b29scy9saWJ4bC9saWJ4bF91dGlscy5jIGIvdG9vbHMvbGlieGwvbGlieGxfdXRp bHMuYwppbmRleCA1ODU0NzE3YjExLi5kNTNkYjhjMzdkIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9saWJ4bF91dGlscy5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3V0aWxzLmMKQEAgLTEwNzAs NiArMTA3MCw4IEBAIGludCBsaWJ4bF9fc2VuZG1zZ19mZHMobGlieGxfX2djICpnYywgaW50IGNh cnJpZXIsCiAgICAgc3RydWN0IGlvdmVjIGlvdjsKICAgICBpbnQgcjsKIAorICAgIGFzc2VydChk YXRhbGVuID09IDEpOworCiAgICAgaW92Lmlvdl9iYXNlID0gKHZvaWQqKWRhdGE7CiAgICAgaW92 Lmlvdl9sZW4gID0gZGF0YWxlbjsKIApAQCAtMTA4OCwxMSArMTA5MCwyNCBAQCBpbnQgbGlieGxf X3NlbmRtc2dfZmRzKGxpYnhsX19nYyAqZ2MsIGludCBjYXJyaWVyLAogCiAgICAgbXNnLm1zZ19j b250cm9sbGVuID0gY21zZy0+Y21zZ19sZW47CiAKLSAgICByID0gc2VuZG1zZyhjYXJyaWVyLCAm bXNnLCAwKTsKLSAgICBpZiAociA8IDApIHsKLSAgICAgICAgTE9HRShFUlJPUiwgImZhaWxlZCB0 byBzZW5kIGZkLWNhcnJ5aW5nIG1lc3NhZ2UgKCVzKSIsIHdoYXQpOwotICAgICAgICByZXR1cm4g RVJST1JfRkFJTDsKLSAgICB9CisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgciA9IHNlbmRtc2co Y2FycmllciwgJm1zZywgMCk7CisgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgaWYg KGVycm5vID09IEVJTlRSKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg aWYgKGVycm5vID09IEVXT1VMREJMT0NLKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEVSUk9S X05PVF9SRUFEWTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIExPR0UoRVJST1IsICJmYWls ZWQgdG8gc2VuZCBmZC1jYXJyeWluZyBtZXNzYWdlICglcykiLCB3aGF0KTsKKyAgICAgICAgICAg IHJldHVybiBFUlJPUl9GQUlMOworICAgICAgICB9CisgICAgICAgIGlmIChyICE9IGRhdGFsZW4p IHsKKyAgICAgICAgICAgIExPRyhFUlJPUiwgInNlbmRtc2cgaGF2ZSB3cml0dGVuICVkIGluc3Rl YWQgb2YgJWxkIiwKKyAgICAgICAgICAgICAgICByLCBkYXRhbGVuKTsKKyAgICAgICAgICAgIHJl dHVybiBFUlJPUl9GQUlMOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH07CiAKICAg ICByZXR1cm4gMDsKIH0KLS0gCkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==