From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS6939 64.71.128.0/18 X-Spam-Status: No, score=-1.0 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, FREEMAIL_FROM,MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: Yura Sokolov Newsgroups: gmane.comp.lang.ruby.kgio.general Subject: Re: [PATCH 1/2] add `#kgio_writev` and `#kgio_trywritev` Date: Wed, 30 May 2012 08:30:15 +0400 Message-ID: <4FC5A257.8060201@gmail.com> References: <1338303629-12277-1-git-send-email-funny.falcon@gmail.com> <1338303629-12277-1-git-send-email-funny.falcon@gmail.com> <20120529191127.GA25401@dcvr.yhbt.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Trace: dough.gmane.org 1338352236 7312 80.91.229.3 (30 May 2012 04:30:36 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 30 May 2012 04:30:36 +0000 (UTC) To: kgio@librelist.com Original-X-From: kgio@librelist.com Wed May 30 06:30:35 2012 Return-path: Envelope-to: gclrkg-kgio@m.gmane.org List-Archive: List-Help: List-Id: List-Post: List-Subscribe: List-Unsubscribe: Precedence: list Original-Sender: kgio@librelist.com Xref: news.gmane.org gmane.comp.lang.ruby.kgio.general:154 Archived-At: Received: from zedshaw.xen.prgmr.com ([64.71.167.205]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SZaYN-00037p-06 for gclrkg-kgio@m.gmane.org; Wed, 30 May 2012 06:30:35 +0200 Received: from zedshaw.xen.prgmr.com (localhost [IPv6:::1]) by zedshaw.xen.prgmr.com (Postfix) with ESMTP id 3519421DCF1 for ; Wed, 30 May 2012 04:38:26 +0000 (UTC) MjkuMDUuMjAxMiAyMzoxMSwgRXJpYyBXb25nINC90LDQv9C40YHQsNC7Ogo+IFNva29sb3YgWXVy YSAnZnVubnktZmFsY29uPGZ1bm55LmZhbGNvbkBnbWFpbC5jb20+ICB3cm90ZToKPj4gQWRkIG1l dGhvZHMgZm9yIHVzaW5nIHdyaXRldigyKSBzeXNjYWxsIGZvciBzZW5kaW5nIGFycmF5IG9mIHN0 cmluZyBpbgo+PiBhIHNpbmdsZSBzeXNjYWxsLiBUaGlzIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4g Y29uY2F0ZW5hdGluZyBzdHJpbmdzIG9uCj4+IFJ1Ynkgc2lkZS4KPj4gYCNrZ2lvX3RyeXdyaXRl dmAgcmV0dXJucyBhcnJheSBvZiBzdHJpbmdzIHdoaWNoIGFyZSBub3Qgc2VudCB0byB0aGUKPj4g c29ja2V0Lgo+Cj4gVGhhbmtzLiAgQ29tbWVudHMgaW5saW5lLgo+Cj4+IFNpbmNlIGJvdGggbWV0 aG9kcyBkdXBzIGFycmF5IGFuZCBzdHJpbmdzIGluIGl0LCBgI2tnaW9fd3JpdGV2YCBzZW1hbnRp Ywo+PiBhIGJpdCBkaWZmZXJlbnQgZnJvbSBgI2tnaW9fd3JpdGVgOiBpdCBkb2VzIG5vdCByZWFj dCBvbiBjaGFuZ2VzIHRvCj4+IGFycmF5L3N0cmluZ3MgdGhhdCBtYWRlIGluIG90aGVyIHRocmVh ZC4gQnV0IEkgdGhpbmssIHRoaXMgd2F5IGlzIG1vcmUKPj4gY29ycmVjdC4KPgo+IFBlcmhhcHMg d2Ugc2hvdWxkIHVzZSByYl9zdHJfbG9ja3RtcCgpPwoKSSB0aGluaywgaXQgaXMgZ29vZCBpZGVh IDopIEFuZCB1c2UgaXQgYXQgYCNrZ2lvX3dyaXRlYCBhcyB3ZWxsLgoKSSB3YW50IHRvIHJlZG8g cGF0Y2g6ICNrZ2lvX3RyeXdyaXRldiBuZWVkcyBub3QgZHVwLWluZyBvciBmcmVlemUtaW5nL2xv Y2staW5nLAphbmQgdGhpcyBtZXRob2QgaXMgcHJpbWFyeSBmb3IgbWUuCk1heSBiZSwgYXJyYXkg c2hvdWxkIGJlIHNsaWNlLWVkIHdoZW4gaXQgaXMgbm90IGZ1bGx5IHdyaXR0ZW4/IEl0IHdpbGwg ZG8KdGhlIGdvb2Qgam9iIGZvciAja2dpb193cml0ZSB0b28uCgooSSBvbW1pdCBzb21lIGZvcm1h dHRpbmcgY29tbWVudHMsIHdpbGwgZml4IHRoZW0pCgo+Cj4+ICsJfQo+PiArCWEtPnJlc3RfbGVu ID0gYS0+dG90YWxfbGVuOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IHdyaXRldl9jaGVjayhz dHJ1Y3QgaW9fYXJnc192ICphLCBsb25nIG4sIGNvbnN0IGNoYXIgKm1zZywgaW50IGlvX3dhaXQp Cj4+ICt7Cj4+ICsJaWYgKGEtPnJlc3RfbGVuID09IG4pIHsKPj4gK2RvbmU6Cj4+ICsJCWEtPmJ1 ZiA9IFFuaWw7Cj4+ICsJfSBlbHNlIGlmIChuID09IC0xKSB7Cj4+ICsJCWlmIChlcnJubyA9PSBF SU5UUikgewo+PiArCQkJYS0+ZmQgPSBteV9maWxlbm8oYS0+aW8pOwo+PiArCQkJcmV0dXJuIC0x Owo+PiArCQl9Cj4+ICsJCWlmIChlcnJubyA9PSBFQUdBSU4pIHsKPj4gKwkJCWlmIChpb193YWl0 KSB7Cj4+ICsJCQkJKHZvaWQpa2dpb19jYWxsX3dhaXRfd3JpdGFibGUoYS0+aW8pOwo+PiArCQkJ CXJldHVybiAtMTsKPj4gKwkJCX0gZWxzZSBpZiAoYS0+dG90YWxfbGVuID09IGEtPnJlc3RfbGVu KSB7Cj4+ICsJCQkJYS0+YnVmID0gc3ltX3dhaXRfd3JpdGFibGU7Cj4+ICsJCQl9Cj4+ICsJCQly ZXR1cm4gMDsKPj4gKwkJfQo+PiArCQl3cl9zeXNfZmFpbChtc2cpOwo+PiArCX0gZWxzZSB7Cj4+ ICsJCWFzc2VydChuPj0gMCYmICBuPCAgYS0+cmVzdF9sZW4mJiAgIndyaXRldiBzeXNjYWxsIGJy b2tlbj8iKTsKPj4gKwkJYS0+cmVzdF9sZW4gLT0gbjsKPj4gKwkJd2hpbGUgKG4+ICAwKSB7Cj4+ ICsJCQlWQUxVRSBzdHIgPSBSQVJSQVlfUFRSKGEtPmJ1ZilbMF07Cj4+ICsJCQlpZiAoUlNUUklO R19MRU4oc3RyKT4gIG4pIHsKPj4gKwkJCQlzdHIgPSByYl9zdHJfc3Vic2VxKHN0ciwgbiwgUlNU UklOR19MRU4oc3RyKSAtIG4pOwo+PiArCQkJCVJBUlJBWV9QVFIoYS0+YnVmKVswXSA9IHN0cjsK Pj4gKwkJCQlhLT52ZWMtPmlvdl9iYXNlID0gUlNUUklOR19QVFIoc3RyKTsKPj4gKwkJCQlhLT52 ZWMtPmlvdl9sZW4gPSBSU1RSSU5HX0xFTihzdHIpOwo+PiArCQkJCW4gPSAwOwo+PiArCQkJfSBl bHNlIHsKPj4gKwkJCQluIC09IFJTVFJJTkdfTEVOKHN0cik7Cj4+ICsJCQkJcmJfYXJ5X3NoaWZ0 KGEtPmJ1Zik7Cj4+ICsJCQkJYS0+dmVjKys7Cj4KPiBQcm9iYWJseSBiZXR0ZXIgdG8gc3RvcmUg dGhlIGFycmF5IG9mZnNldCBpbnN0ZWFkIG9mIHNoaWZ0aW5nCj4gQXJyYXkjc2hpZnQgaXMgTyhu KS4KV2VsbCwgaW4gUnVieTEuOSBpdCBpcyBPKDEpIGlmIG5vdCBpbnRlcm1peGVkIHdpdGggb3Ro ZXIgbW9kaWZ5aW5nIGNhbGxzLgpJJ2xsIHVzZSByYl9hcnlfc3Vic2VxLCBpdCBpcyBhbHNvIE8o MSkgaW4gUnVieTEuOS4KCj4KPj4gKwkJCX0KPj4gKwkJfQo+PiArCQlyZXR1cm4gLTE7Cj4+ICsJ fQo+PiArCXJldHVybiAwOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgVkFMVUUgbXlfd3JpdGV2KFZB TFVFIGlvLCBWQUxVRSBzdHIsIGludCBpb193YWl0KQo+PiArewo+PiArCXN0cnVjdCBpb19hcmdz X3YgYTsKPj4gKwlsb25nIG4sIGlvdl9jbnQsIGlvdl9tYXg7Cj4+ICsKPj4gKwlwcmVwYXJlX3dy aXRldigmYSwgaW8sIHN0cik7Cj4+ICsJc2V0X25vbmJsb2NraW5nKGEuZmQpOwo+PiArCWlvdl9t YXggPSBzeXNjb25mKF9TQ19JT1ZfTUFYKTsKPj4gK3JldHJ5Ogo+PiArCWlvdl9jbnQgPSBSQVJS QVlfTEVOKGEuYnVmKTsKPj4gKwlpZiAoaW92X2NudD4gIGlvdl9tYXgpIGlvdl9jbnQgPSBpb3Zf bWF4Owo+PiArCW4gPSAobG9uZyl3cml0ZXYoYS5mZCwgYS52ZWMsIGlvdl9jbnQpOwo+PiArCWlm ICh3cml0ZXZfY2hlY2soJmEsIG4sICJ3cml0ZXYiLCBpb193YWl0KSAhPSAwKQo+PiArCQlnb3Rv IHJldHJ5Owo+PiArCWlmIChUWVBFKGEuYnVmKSAhPSBUX1NZTUJPTCkKPj4gKwkJa2dpb19hdXRv cHVzaF93cml0ZShpbyk7Cj4+ICsJcmV0dXJuIGEuYnVmOwo+Cj4gKEknbSBub3QgZnVsbHkgYXdh a2UpOiBZb3UgZG8gcmV0cnkgd2hlbiB0cnVuY2F0aW5nIHRvIGlvdl9tYXgsIHJpZ2h0PwpSZXRy eSBpcyBkb25lIGNhdXNlIHdyaXRldl9jaGVjayByZXR1cm5zIC0xCgo+PiArc3RhdGljIFZBTFVF IGtnaW9fd3JpdGV2KFZBTFVFIGlvLCBWQUxVRSBhcnkpCj4+ICt7Cj4+ICsJVkFMVUUgYXJyYXkg PSByYl9jaGVja19hcnJheV90eXBlKGFyeSk7Cj4+ICsjaWZkZWYgSEFWRV9XUklURVYKPj4gKwly ZXR1cm4gbXlfd3JpdGV2KGlvLCBhcnJheSwgMSk7Cj4+ICsjZWxzZQo+PiArCVZBTFVFIHN0ciA9 IHJiX2FyeV9qb2luKGFycmF5LCBRbmlsKTsKPj4gKwlyZXR1cm4gbXlfd3JpdGUoaW8sIHN0ciwg MSk7Cj4+ICsjZW5kaWYKPj4gK30KPgo+IEkgZG9uJ3QgbGlrZSAjaWZkZWYgaW5zaWRlIGZ1bmN0 aW9uIGRlZmluaXRpb25zLCBzbyBJJ2QgcmF0aGVyIGhhdmUKPiBzb21ldGhpbmcgbGlrZSB0aGlz Ogo+Cj4gCSNpZmRlZiBIQVZFX1dSSVRFVgo+IAlzdGF0aWMgVkFMVUUga2dpb193cml0ZXYoVkFM VUUgaW8sIFZBTFVFIGFyeSkKPiAJewo+IAkJLi4uCj4gCX0KPiAJI2Vsc2UKPiAJIyAgaW5jbHVk ZSAiY29tcGF0X2tnaW9fd3JpdGV2LmgiCj4gCSNlbmRpZgo+Ck9rCgpJJ2xsIHRyeSB0byByZWRv IHBhdGNoIHRvZGF5IG9yIHRvbW9ycm93LgoKV2l0aCByZWdhcmRzLApTb2tvbG92IFl1cmEsIGFr YSBmdW5ueV9mYWxjb24K