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.2 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.kgio.general Subject: Re: [PATCH 3/3] add `#kgio_writev` and `#kgio_trywritev` Date: Fri, 1 Jun 2012 07:55:52 +0000 Message-ID: <20120601075552.GA12528@dcvr.yhbt.net> References: <20120530203915.GB17661@dcvr.yhbt.net> <1338454833-11754-1-git-send-email-funny.falcon@gmail.com> <20120531211923.GA21892@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 1338537368 11186 80.91.229.3 (1 Jun 2012 07:56:08 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 1 Jun 2012 07:56:08 +0000 (UTC) To: kgio@librelist.com Original-X-From: kgio@librelist.com Fri Jun 01 09:56:07 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:173 Archived-At: Received: from zedshaw.xen.prgmr.com ([64.71.167.205]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SaMiM-0001tI-NM for gclrkg-kgio@m.gmane.org; Fri, 01 Jun 2012 09:56:07 +0200 Received: from zedshaw.xen.prgmr.com (localhost [IPv6:::1]) by zedshaw.xen.prgmr.com (Postfix) with ESMTP id 35D8321DD2C for ; Fri, 1 Jun 2012 08:04:00 +0000 (UTC) 0K7RgNC40Lkg0KHQvtC60L7Qu9C+0LIgPGZ1bm55LmZhbGNvbkBnbWFpbC5jb20+IHdyb3RlOgo+ IDIwMTIvNi8xIEVyaWMgV29uZyA8bm9ybWFscGVyc29uQHloYnQubmV0Pgo+ID4gU29rb2xvdiBZ dXJhICdmdW5ueS1mYWxjb24gPGZ1bm55LmZhbGNvbkBnbWFpbC5jb20+IHdyb3RlOgo+ID4gPiAr LyogaXQgc2VlbXMgdGhhdCBzb2NrZXQgYnVmZmVyIGlzIHJhcmVseSBleGNlZWQgMU1CICovCj4g Pgo+ID4gU2VlIG90aGVyIGVtYWlsIGFib3V0IExGTi4gIE9uIHRoZSBvdGhlciBoYW5kLCAxTSBt YXkgYmUgYSBnb29kIHNpemUKPiA+IGFueXdheXMgdG8gZml0IGludG8gdGhlIENQVSBjYWNoZS4g IEJ1ZmZlciBzaXplIHR1bmluZyBpcyBoYXJkIHNvCj4gPiBJIHVzdWFsbHkgYXZvaWQgaXQgOikK PiA+IC4uLi4KPiA+IEkndmUgY2hlY2tlZCBzb21lIHNldHVwcyBJIHVzZSAoNzUtMTIwbXMgb3Zl ciAxIGdpZ2FiaXQpIGFuZCB0aG9zZSBoYXZlCj4gPiB0aGUgbWF4IHRjcF93bWVtIHNldCB0byAx Nk0oISkuICBJJ3ZlIGFsc28ga25vd24gKGFuZCBwaXR5KSBmb2xrcyB0aGF0Cj4gPiBoYXZlIHRv IGRlYWwgd2l0aCB+NTAwbXMgbGF0ZW5jeSBvbiB0aGVpciBMRk5zLgo+ID4gPiArI2RlZmluZSBX UklURVZfTUVNTElNSVQgKDEwMjQqMTAyNCkKPiA+Cj4gCj4gRmlyc3RseSwgSSBhZ3JlZSB3aXRo IHN0YXRlbWVudCBhYm91dCBDUFUgY2FjaGUuIFNlY29uZGx5LCBpZiBuZXR3b3JrIGhhcwo+IHN1 Y2ggYmlnIGxhdGVuY3ksCj4gdGhlbiB3ZSBzdGlsbCBmaWxsIGtlcm5lbCBidWZmZXIgaW4gc2V2 ZXJhbCBzeXNjYWxscy4gWWVzLCB0aGF0IHdvdWxkIGJlIDE2Cj4gY2FsbHMgaW5zdGVhZCBvZiAx LCBidXQKPiAxNiBmYXN0IGNhbGxzIGlzIG5vdCBtdWNoIHdvcnNlIHRoYXQgMSBzbG93IGNhbGwg KGFuZCBjb3B5aW5nIG9mIDE2TUIgb2YKPiBzdHJpbmcgY291bGQgYmUgc2xvdykuCj4gRXZlbiBp ZiB3ZSBmaWxsIGJ1ZmZlciBhdCBmaXJzdCAiZ2lhbnQiIGNhbGwsIGl0IGlzIHZlcnkgbGlrZWx5 IHRoYXQgd2UKPiBjb3VsZCBub3QgcGFzcyB0aGUgc2FtZSBzaXplCj4gb2YgZGF0YSBhdCB0aGUg c2Vjb25kIGNhbGwsIGJlY2F1c2Ugbm90IG11Y2ggZGF0YSB3ZXJlIHNlbnQgb3ZlciBuZXR3b3Jr LAo+IGFuZCB0aGUgYnVmZmVyIGlzIG5vdAo+IGFzIGZyZWUgYXMgaXQgd2VyZSBhdCBmaXJzdCBj YWxsLgoKSSBhZ3JlZSBzbWFsbGVyIGNodW5rcyBhcmUgT0sgZm9yIHBlcmZvcm1hbmNlLiAgSSdt IG1vc3RseSBwb2ludGluZyBvdXQKSSBkb24ndCBsaWtlIGRlY2lkaW5nIGJ1ZmZlciBzaXplcy4K Cj4gTWF5IGJlIEknbSBtaXN0YWtlbiBhdCB0aGlzIHBvaW50LiBCdXQgdHJ5aW5nIHRvIHNlbmQg dW5saW1pdGVkIGRhdGEgY2h1bmsKPiBzZWVtcyB0byBtZSBtZWFuaW5nbGVzcy4KCllvdSBhY3R1 YWxseSBicm91Z2h0IHVwIHRoZSBnbGliYyBlbXVsYXRpb24gYmVsb3csIGdsaWJjIG1hbGxvY3MK dGhlIGVudGlyZSByZWdpb24uICBJIHRoaW5rIGl0J3Mgc2ltcGxlciBpZiB3ZSBqdXN0IHVzZSBh biB1bmxpbWl0ZWQKY2h1bmsuCgo+IEkgdGhpbmsgKkJTRCBzeXN0ZW1zIGFsc28gaGF2ZSBpdC4g QnV0IGV2ZW4gZ2xpYmMgaGFzIHN1Y2ggc3Vic3RpdHV0aW9uIGZvcgo+IHNvbWUgYnJva2VuIHN5 c3RlbXMpCgoKPiBJIHRyaWVkIHRvIHNlbmQgYSBsb3Qgb2Ygc3RyaW5nIHNpemVkIDEwMCwgMjAw LCAzMDAsLi4uLjEwMDAgYnl0ZXMgKHRvdGFsCj4gc2l6ZSB3ZXJlIGFib3V0IDMwMDEwMDAwMDAg Ynl0ZXMpIHdpdGggb25seSBsaWJyYXJ5IHdyaXRldiBhbmQgd2l0aCBvbmx5Cj4gY3VzdG9tX3dy aXRldiAuIDEwMCAtIDQwMCBieXRlIHN0cmluZ3Mgd2VyZSBzZW50IGZhc3Rlcgo+IHdpdGggY3Vz dG9tX3dyaXRldiAoMjJzZWMgdnMgMjRzZWMgZm9yIDQwMCBieXRlcyksIDUwMCBieXRlIHN0cmlu Z3Mgd2VyZSBvbgo+IHBhciAofjIxLTIyc2VjKSBhbmQKPiA2MDAgYnl0ZSB3ZXJlIHNlbnQgZmFz dGVyIHdpdGggbGlicmFyeSB3cml0ZXYgKDE5c2VjIHZzIDIwIHdpdGgKPiBjdXN0b21fd3JpdGV2 KS4gV2l0aCBzdHJpbmcncyBzaXplIGluY3JlYXNlZCwgbGlicmFyeSB3cml0ZXYgcGVyZm9ybXMK PiBiZXR0ZXIgYW5kIGJldHRlciAoMTAwMCBieXRlIHN0cmluZ3Mgd2VyZSBzZW50IGZvciAxNy0x OCBzZWMpLAo+IHdoaWxlIGN1c3RvbV93cml0ZXYgc3RhZ25hdGVzIGF0IDIxLTIyIHNlYy4KPiA1 MTIgYnl0ZSBJIGNob29zZSBzaW1wbHkgY2F1c2UgaXQgbG9va3MgcHJldHR5LCBhbmQgY2F1c2Ug R0NDIGNvdWxkIHJlcGxhY2UKPiAneCAvIDUxMicgYnkKPiAneCA+PiA5Jy4KPiAKPiBJJ2xsIHBv c3QgYSBnaXN0IHdpdGggbXkgYmVuY2htYXJrIHNjcmlwdCB3aGVuIEkgY2FtZSB0byB3b3JrLgoK T0suICBQcm9iYWJseSBnb29kIHRvIGtlZXAgYSBsaW5rL2V4YW1wbGUgdG8gaXQgaW4gdGhlIGtn aW8gdHJlZQpzaW5jZSBzeXN0ZW1zIHdpbGwgYmUgZGlmZmVyZW50IGluIGEgZmV3IHllYXJzIGFu ZCBtYXliZSBzb21lYm9keQp3aWxsIHdhbnQgdG8gcmV0dW5lLiAgSSdtIG5vdCBzdXJlIGlmIHdy aXRldiB3aWxsIG1ha2UgaXQgaW50byBNUkkuCgo+ID4gVGhpcyBwYXRjaCBsb29rcyBwcmV0dHkg Z29vZC4gTW9yZSBjb21tZW50cyBiZWxvdy4KPiA+Cj4gPiA+ICsgICAgIGEtPnZlY19idWYgPSBy Yl9zdHJfbmV3KDAsIDApOwo+ID4gPiArICAgICBhLT52ZWMgPSAmc3R1YjsKPiA+Cj4gPiBDYW4g d2UganVzdCBsZWF2ZSBhLT52ZWMgdW5zZXQ/ICBJdCdzIGFsd2F5cyBzZXQgaW4gZmlsbF9pb3Zl YyBhbnl3YXlzLgo+IAo+IFdlbGwsIEkgY2F1Z2h0IFNlZ21lbnRhdGlvbiBmYXVsdCBvbiBhIHRl c3Qgd2l0aCBlbXB0eSBpbnB1dCBhcnJheSBpbgo+IGN1c3RvbV93cml0ZXYgOikKPiBJIGNvdWxk IGZpeCBpdCB3aXRoIGNoZWNraW5nIGEtPmlvdl9jbnQgYWdhaW5zdCB6ZXJvLCBidXQgdGhlbiBJ IHRob3VnaDoKPiAgIHNlbmRpbmcgZW1wdHkgYXJyYXkgdG8gYCNrZ2lvXyp3cml0ZXZgIHdpbGwg YmUgdmVyeSByYXJlIGNhc2UsIHNvIHRoYXQsCj4gaW50cm9kdWNpbmcgb3RoZXIgYnJhbmNoCj4g Zm9yIGhhbmRsaW5nIGl0IHdpbGwgYmUgdGlyZXNvbWUsIGFuZCBpdCdzIG5vdCB1bndpc2Ugc2lt cGx5IGFzc2lnbgo+IHNvbWV0aGluZyBtZWFuaW5nZnVsIHRvIGEtPnZlYy4KPiBCdXQgc2luY2Ug dGhpcyBzdGF0aWMgc3R1YiBpcyBub3QgdXNlZCBhbnl3aGVyZSBlbHNlLCBJIG1hZGUgaXQgbG9j YWwgdG8KPiBmdW5jdGlvbi4KCkFoLCBvaywgaXQgc2hvdWxkIGJlIGNvbW1lbnRlZCBhcyBzdWNo LgoKPiA+ID4gKyAgICAgdW5zaWduZWQgbG9uZyBpOwo+ID4gPiArICAgICBzdHJ1Y3QgaW92ZWMg KmN1cnZlYzsKPiA+Cj4gPiBVc2UgaGFyZCB0YWJzIGxpa2UgdGhlIHJlc3Qgb2YgdGhlIGZpbGUK PiA+Cj4gCj4gT2gsIHNvcnJ5LCBpdCBzZWVtcyBJJ3ZlIHByaW50IGl0IGJlZm9yZSByZW1lbWJl ciB0byBmaXggdmltIHNldHRpbmdzLgo+IENvdWxkIHZpbSBsaW5lcyBiZSBpbmNsdWRlZCBpbiBD IHNvdXJjZSdzIGhlYWRlcnMgZm9yIGF1dG9tYXRpYyB2aW0KPiBjb25maWd1cmF0aW9uPwoKTm8s IHRvbyBtdWNoIG92ZXJoZWFkLiBJIGRvbid0IHdhbnQgdG8gZ2l2ZSBhbnkgJEVESVRPUiBwcmVm ZXJlbnRpYWwKdHJlYXRtZW50IHRvIGF2b2lkIHJlbGlnaW91cyB3YXJzLiAgRW1hY3MgdXNlcnMg d2lsbCBhc2sgZm9yIHRoZWlyIG1vZGUKbGluZXMsIHRvbyA6KQoKV2hlbiBzd2l0Y2hpbmcgYmV0 d2VlbiBkaWZmZXJlbnQgcHJvamVjdHMsIEkgaGF2ZSB0aGUgZm9sbG93aW5nCmJpbmRpbmdzIGlu IG15IH4vLnZpbXJjCgptYXAgPEYxMD4gOnNldCB0cz04IHN3PTggc3RzPTAgbm9leHBhbmR0YWI8 Q1I+Cm1hcCA8Rjk+IDpzZXQgdHM9OCBzdz00IHN0cz00IG5vZXhwYW5kdGFiPENSPgptYXAgPEY4 PiA6c2V0IHRzPTIgc3c9MiBzdHM9MiBleHBhbmR0YWI8Q1I+Cm1hcCA8Rjc+IDpzZXQgdHM9NCBz dz00IHN0cz00IGV4cGFuZHRhYjxDUj4KCj4gPiA+ICtzdGF0aWMgVkFMVUUgbXlfd3JpdGV2KFZB TFVFIGlvLCBWQUxVRSBzdHIsIGludCBpb193YWl0KQo+ID4gPiArewo+ID4gPiArICAgICBzdHJ1 Y3QgaW9fYXJnc192IGE7Cj4gPiA+ICsgICAgIGxvbmcgbjsKPiA+ID4gKwo+ID4gPiArICAgICBw cmVwYXJlX3dyaXRldigmYSwgaW8sIHN0cik7Cj4gPiA+ICsgICAgIHNldF9ub25ibG9ja2luZyhh LmZkKTsKPiA+ID4gKwo+ID4gPiArICAgICBkbyB7Cj4gPiA+ICsgICAgICAgICAgICAgZmlsbF9p b3ZlYygmYSk7Cj4gPiA+ICsjaWZkZWYgSEFWRV9XUklURVYKPiA+ID4gKyAgICAgICAgICAgICAv KiBmb3IgYmlnIHN0cmluZ3MgdXNlIGxpYnJhcnkgZnVuY3Rpb24gKi8KPiA+ID4gKyAgICAgICAg ICAgICBpZiAoYS5pb3ZfbGVuIC8gV1JJVEVWX0lNUExfVEhSRVNIT0xEID4gYS5pb3ZfY250KQo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgbiA9IChsb25nKXdyaXRldihhLmZkLCBhLnZlYywg YS5pb3ZfY250KTsKPiA+ID4gKyAgICAgICAgICAgICBlbHNlCj4gPiA+ICsjZW5kaWYKPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgIG4gPSAobG9uZyljdXN0b21fd3JpdGV2KGEuZmQsIGEudmVj LCBhLmlvdl9jbnQsCj4gPiBhLmlvdl9sZW4pOwo+ID4KPiA+IFBsZWFzZSBuby4gIENQUCBjb25k aXRpb25hbHMgaW5zaWRlIGZ1bmN0aW9ucyBpcyBjb25mdXNpbmcsIGJ1dCBDUFAKPiA+IGNvbmRp dGlvbmFscyBtaXhpbmcgd2l0aCBDIGNvbmRpdGlvbmFscyBtYWtlcyBteSBleWVzIGJsZWVkLgo+ IAo+IAo+ID4gSG93IGFib3V0IHNvbWV0aGluZyBsaWtlIHRoaXM/Cj4gPgo+ID4gI2lmZGVmIEhB VkVfV1JJVEVWCj4gPiBzdGF0aWMgc3NpemVfdAo+ID4gcmVhbF93cml0ZXYoaW50IGZkLCBjb25z dCBzdHJ1Y3QgaW92ZWMgKnZlYywgaW50IGNudCwgc2l6ZV90IHRvdGFsKQo+ID4gewo+ID4gICAg ICAgIHJldHVybiB3cml0ZXYoZmQsIHZlYywgY250KTsKPiA+IH0KPiA+ICNlbHNlCj4gPiAjICBk ZWZpbmUgcmVhbF93cml0ZXYoZmQsdmVjLGNudCx0b3RhbCkKPiA+IGN1c3RvbV93cml0ZXYoKGZk KSwodmVjKSwoY250KSwodG90YWwpKQo+ID4gI2VuZGlmCj4gPgo+IFdlbGwsIHlvdSBtaXNzIEMg Y29uZGl0aW9uLgo+IE15IHRob3VnaHQ6IGl0IGluY3JlYXNlcyBsaW5lcyBvZiBjb2RlIGFuZCB0 YW5nbGVzIGxvZ2ljIG1vcmUgdGhhbiBteSBjYXNlLgoKSSBtZWFuIEkga2VlcCB0aGUgc2FtZSBs b2dpYyBpbiB0aGUgbWFpbiBmdW5jdGlvbjoKCglkbyB7CgkJZmlsbF9pb3ZlYygmYSk7CgkJLyog Zm9yIGJpZyBzdHJpbmdzIHVzZSBsaWJyYXJ5IGZ1bmN0aW9uICovCgkJaWYgKGEuaW92X2xlbiAv IFdSSVRFVl9JTVBMX1RIUkVTSE9MRCA+IGEuaW92X2NudCkKCQkJbiA9IHJlYWxfd3JpdGV2KGEu ZmQsIGEudmVjLCBhLmlvdl9jbnQsIGEuaW92X2xlbik7CgkJZWxzZQoJCQluID0gY3VzdG9tX3dy aXRldihhLmZkLCBhLnZlYywgYS5pb3ZfY250LCBhLmlvdl9sZW4pOwoJfQoKU28gdGhlcmUncyBu byBkaWZmZXJlbmNlIGluIHRoZSBtYWluIGNvZGUgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHdyaXRl digpCmlzIGF2YWlsYWJsZSBvciBub3QuCihJIHBpY2tlZCBhIGJhZCBuYW1lIGZvciAicmVhbF93 cml0ZXYiIDp4KQoKPiBCdXQgc2luY2UKPiBpdCBpcyB5b3VyIGxpYnJhcnksIGFuZCB5b3UgaGF2 ZSBtdWNoIG1vcmUgZXhwZXJpZW5jZSB0aGFuIG1lLCB5b3VyIG9waW5pb24KPiBpcyBtb3JlIGlt cG9ydGFudC4KCkkgZG9uJ3Qga25vdyBpZiBJIGhhdmUgbW9yZSBleHBlcmllbmNlLiAgSSBqdXN0 IGtub3cgb25lIG9mIHRoZSBmaXJzdAp0aGluZ3MgSSByZWFkIGFib3V0IEMgcHJvZ3JhbW1pbmcg d2FzIGFib3V0IHRoZSBkYW5nZXJzIG9mICNpZmRlZi4KSSBhbHNvIGhhdmUgdHJvdWJsZSBmb2xs b3dpbmcgY29kZSB3cml0dGVuIGJ5IG90aGVycyBpZiB0aGV5IGhhdmUKbWFueSAjaWZkZWZzLgo=