From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 80928 invoked by alias); 30 Jan 2018 10:07:45 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 80913 invoked by uid 89); 30 Jan 2018 10:07:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.1 required=5.0 tests=AWL,BAYES_00,CYGWIN_OWNER_BODY,GIT_PATCH_2,KAM_ASCII_DIVIDERS,KAM_INFOUSMEBIZ,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 spammy=H*MI:local, H*M:local, profits, SERVICES X-HELO: mailrelay.dillinger.de Received: from mailrelayb.dillinger.de (HELO mailrelay.dillinger.de) (212.184.64.29) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 30 Jan 2018 10:07:38 +0000 Received: from mailrelaya2.dillinger.de (mailrelaya [192.168.175.11]) by lin254mailrelayb.dillinger.de (Postfix) with ESMTP id 2ADA3A368 for ; Tue, 30 Jan 2018 11:07:36 +0100 (CET) Received: from lin275.int.shsservices.de (lin275 [172.18.32.6]) by mailrelaya2.dillinger.de (Postfix) with ESMTP id 806FF242303 for ; Tue, 30 Jan 2018 11:17:01 +0100 (CET) Received: from RESW103.resdom01.local (resw103.dillinger.de [172.18.22.103]) by lin275.int.shsservices.de (Postfix) with ESMTP id DE2F7F3CAC for ; Tue, 30 Jan 2018 11:07:35 +0100 (CET) Received: from RESW102.resdom01.local ([fe80::a883:3db9:4459:1159]) by RESW103.resdom01.local ([fe80::a480:c1ef:e5bb:a91b%15]) with mapi id 14.03.0279.002; Tue, 30 Jan 2018 11:07:35 +0100 From: "PAULUS, Raimund, TI-ABN" To: "cygwin@cygwin.com" Subject: Re: RPC clnt_create() adress already in use Date: Tue, 30 Jan 2018 10:07:00 -0000 Message-ID: <59D90AF8D70E9740907BACDE2BCB520836E01220@RESW102.resdom01.local> Content-Type: multipart/mixed; boundary="_002_59D90AF8D70E9740907BACDE2BCB520836E01220RESW102resdom01_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00288.txt.bz2 --_002_59D90AF8D70E9740907BACDE2BCB520836E01220RESW102resdom01_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 3521 Hi Mark, in my email (https://sourceware.org/ml/cygwin/2017-12/msg00194.html) i desc= ribed 2 approaches. I prefer nr 1. Here the part of the source in bindresvport.c: ---------------------------------------------------------------------------= --------------------------------------- if (port =3D=3D 0) { port =3D (getpid() % NPORTS) + STARTPORT; } res =3D -1; errno =3D EADDRINUSE; /* fix for bind() */ port =3D 0; again: for (i =3D 0; i < nports; ++i) { *portp =3D htons(port++); if (port > endport) port =3D startport; res =3D bind(sd, sa, salen); if (res >=3D 0 || errno !=3D EADDRINUSE) break; } if (i =3D=3D nports && startport !=3D LOWPORT) { startport =3D LOWPORT; endport =3D STARTPORT - 1; nports =3D STARTPORT - LOWPORT; port =3D LOWPORT + port % (STARTPORT - LOWPORT); goto again; } mutex_unlock(&port_lock); return (res); } ---------------------------------------------------------------------------= ---------------------------- This causes bind() to search an unused port. I use libtirpc with this fix s= ince several weeks and it works for me. I don't know an other way (fixing C= ygwin) to success. The RPC-client on my pc is started every few minutes and has to connect to = the RPC-server. Without the fix libtirpc is not usable and I have to use C= ygwin 1.5.18 with the old librpc. Raimund -----Urspr=FCngliche Nachricht----- Von: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com] Im Auftrag vo= n Mark Geisert Gesendet: Dienstag, 30. Januar 2018 10:05 An: cygwin@cygwin.com Betreff: Re: RPC clnt_create() adress already in use PAULUS, Raimund, TI-ABN wrote: > Hi Mark, > as Corinna wrote in the thread " Cygwin socket option SO_REUSEADDR operat= es unlike Linux", the cause for the problem in libtirpc is Microsofts imple= mentation of socket handling. If i implement a simple socket client, that i= s not so much of an issue, because I call the functions separately and can = handle the error. Moreover in this case bind() is not necessary. > But in the case of libtirpc the implementation of clnttcp_create() determ= ines the sequence of bind() and connect() for the local port and you cannot= correct the error of bind() after the call of connect(). Therefore I think= best is to set the port number to zero (port =3D 0) before the call to bin= d(). > > Raimund > > > -----Urspr=FCngliche Nachricht----- > Von: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com] Im=20 > Auftrag von PAULUS, Raimund, TI-ABN > Gesendet: Dienstag, 9. Januar 2018 09:14 > An: cygwin@cygwin.com > Betreff: WG: AW: RPC clnt_create() adress already in use [...] Hi Raimund, Where, exactly, would you set the port number to zero? I can imagine how t= his would solve the problem you're seeing but I'm concerned about other use= cases. It also seems a little odd to me we'd be making a Cygwin-specific patch rat= her than "fixing" Cygwin itself so the patch would not be necessary. But I= don't feel strongly either way here. libtirpc already has Cygwin-specific= patches. ..mark -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --_002_59D90AF8D70E9740907BACDE2BCB520836E01220RESW102resdom01_ Content-Type: text/plain; name="bindresvport.c" Content-Description: bindresvport.c Content-Disposition: attachment; filename="bindresvport.c"; size=6301; creation-date="Tue, 30 Jan 2018 09:54:42 GMT"; modification-date="Tue, 30 Jan 2018 09:51:07 GMT" Content-Transfer-Encoding: base64 Content-length: 8545 LyoKICogQ29weXJpZ2h0IChjKSAyMDA5LCBTdW4gTWljcm9zeXN0ZW1zLCBJ bmMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0 aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg b3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoK ICogLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCiAqICAgdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K ICogLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCiAqICAgdGhpcyBs aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l ciBpbiB0aGUgZG9jdW1lbnRhdGlvbgogKiAgIGFuZC9vciBvdGhlciBtYXRl cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAtIE5l aXRoZXIgdGhlIG5hbWUgb2YgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBub3Ig dGhlIG5hbWVzIG9mIGl0cwogKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAogKiAg IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy aXR0ZW4gcGVybWlzc2lvbi4KICoKICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S UyAiQVMgSVMiCiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKICog SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKICogQVJFIERJU0NMQUlN RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9S IENPTlRSSUJVVE9SUyBCRQogKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCiAq IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCiAqIFNVQlNUSVRVVEUgR09PRFMg T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP UiBCVVNJTkVTUwogKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgogKiBD T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQogKiBBUklTSU5HIElOIEFOWSBX QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB RFZJU0VEIE9GIFRIRQogKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K ICovCgoKLyoKICogQ29weXJpZ2h0IChjKSAxOTg3IGJ5IFN1biBNaWNyb3N5 c3RlbXMsIEluYy4KICoKICogUG9ydGlvbnMgQ29weXJpZ2h0KEMpIDE5OTYs IEphc29uIERvd25zLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICovCgojaW5j bHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Cgoj aW5jbHVkZSA8bmV0ZGIuaD4KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KCiNp bmNsdWRlIDxlcnJuby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRl IDx1bmlzdGQuaD4KCiNpbmNsdWRlIDxycGMvcnBjLmg+CgojaW5jbHVkZSA8 c3RyaW5nLmg+CiNpbmNsdWRlIDxyZWVudHJhbnQuaD4KCmV4dGVybiBwdGhy ZWFkX211dGV4X3QgcG9ydF9sb2NrOwoKLyoKICogQmluZCBhIHNvY2tldCB0 byBhIHByaXZpbGVnZWQgSVAgcG9ydAogKi8KaW50CmJpbmRyZXN2cG9ydChz ZCwgc2luKQogICAgICAgIGludCBzZDsKICAgICAgICBzdHJ1Y3Qgc29ja2Fk ZHJfaW4gKnNpbjsKewogICAgICAgIHJldHVybiBiaW5kcmVzdnBvcnRfc2Eo c2QsIChzdHJ1Y3Qgc29ja2FkZHIgKilzaW4pOwp9CgojaWYgZGVmaW5lZChf X2xpbnV4X18pIHx8IGRlZmluZWQoX19DWUdXSU5fXykKCiNkZWZpbmUgU1RB UlRQT1JUIDYwMAojZGVmaW5lIExPV1BPUlQgNTEyCiNkZWZpbmUgRU5EUE9S VCAoSVBQT1JUX1JFU0VSVkVEIC0gMSkKI2RlZmluZSBOUE9SVFMgIChFTkRQ T1JUIC0gU1RBUlRQT1JUICsgMSkKCmludApiaW5kcmVzdnBvcnRfc2Eoc2Qs IHNhKQogICAgICAgIGludCBzZDsKICAgICAgICBzdHJ1Y3Qgc29ja2FkZHIg KnNhOwp7CiAgICAgICAgaW50IHJlcywgYWY7CiAgICAgICAgc3RydWN0IHNv Y2thZGRyX3N0b3JhZ2UgbXlhZGRyOwoJc3RydWN0IHNvY2thZGRyX2luICpz aW47CiNpZmRlZiBJTkVUNgoJc3RydWN0IHNvY2thZGRyX2luNiAqc2luNjsK I2VuZGlmCgl1X2ludDE2X3QgKnBvcnRwOwoJc3RhdGljIHVfaW50MTZfdCBw b3J0OwoJc3RhdGljIHNob3J0IHN0YXJ0cG9ydCA9IFNUQVJUUE9SVDsKCXNv Y2tsZW5fdCBzYWxlbjsKCWludCBucG9ydHM7CglpbnQgZW5kcG9ydCA9IEVO RFBPUlQ7CglpbnQgaTsKCgltdXRleF9sb2NrKCZwb3J0X2xvY2spOwoJbnBv cnRzID0gRU5EUE9SVCAtIHN0YXJ0cG9ydCArIDE7CgogICAgICAgIGlmIChz YSA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICBzYWxlbiA9IHNpemVvZiht eWFkZHIpOwogICAgICAgICAgICAgICAgc2EgPSAoc3RydWN0IHNvY2thZGRy ICopJm15YWRkcjsKCiAgICAgICAgICAgICAgICBpZiAoZ2V0c29ja25hbWUo c2QsIChzdHJ1Y3Qgc29ja2FkZHIgKikmbXlhZGRyLCAmc2FsZW4pID09IC0x KSB7CiAgICAgICAgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZwb3J0X2xv Y2spOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsgICAgICAvKiBl cnJubyBpcyBjb3JyZWN0bHkgc2V0ICovCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgYWYgPSBteWFkZHIuc3NfZmFtaWx5OwogICAgICAg IH0gZWxzZQogICAgICAgICAgICAgICAgYWYgPSBzYS0+c2FfZmFtaWx5OwoK ICAgICAgICBzd2l0Y2ggKGFmKSB7CiAgICAgICAgY2FzZSBBRl9JTkVUOgoJ CXNpbiA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKilzYTsKICAgICAgICAgICAg ICAgIHNhbGVuID0gc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbik7CiAgICAg ICAgICAgICAgICBwb3J0ID0gbnRvaHMoc2luLT5zaW5fcG9ydCk7CgkJcG9y dHAgPSAmc2luLT5zaW5fcG9ydDsKCQlicmVhazsKI2lmZGVmIElORVQ2CiAg ICAgICAgY2FzZSBBRl9JTkVUNjoKCQlzaW42ID0gKHN0cnVjdCBzb2NrYWRk cl9pbjYgKilzYTsKICAgICAgICAgICAgICAgIHNhbGVuID0gc2l6ZW9mKHN0 cnVjdCBzb2NrYWRkcl9pbjYpOwogICAgICAgICAgICAgICAgcG9ydCA9IG50 b2hzKHNpbjYtPnNpbjZfcG9ydCk7CiAgICAgICAgICAgICAgICBwb3J0cCA9 ICZzaW42LT5zaW42X3BvcnQ7CiAgICAgICAgICAgICAgICBicmVhazsKI2Vu ZGlmCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIGVycm5vID0g RVBGTk9TVVBQT1JUOwogICAgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZw b3J0X2xvY2spOwogICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CiAgICAg ICAgfQogICAgICAgIHNhLT5zYV9mYW1pbHkgPSBhZjsKCiAgICAgICAgaWYg KHBvcnQgPT0gMCkgewogICAgICAgICAgICAgICAgcG9ydCA9IChnZXRwaWQo KSAlIE5QT1JUUykgKyBTVEFSVFBPUlQ7CiAgICAgICAgfQogICAgICAgIHJl cyA9IC0xOwogICAgICAgIGVycm5vID0gRUFERFJJTlVTRTsKLyogZml4IGZv ciBiaW5kKCkgKi8KcG9ydCA9IDA7CgkJYWdhaW46CiAgICAgICAgZm9yIChp ID0gMDsgaSA8IG5wb3J0czsgKytpKSB7CiAgICAgICAgICAgICAgICAqcG9y dHAgPSBodG9ucyhwb3J0KyspOwogICAgICAgICAgICAgICAgIGlmIChwb3J0 ID4gZW5kcG9ydCkgCiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQgPSBz dGFydHBvcnQ7CiAgICAgICAgICAgICAgICByZXMgPSBiaW5kKHNkLCBzYSwg c2FsZW4pOwoJCWlmIChyZXMgPj0gMCB8fCBlcnJubyAhPSBFQUREUklOVVNF KQoJICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCWlmIChpID09 IG5wb3J0cyAmJiBzdGFydHBvcnQgIT0gTE9XUE9SVCkgewoJICAgIHN0YXJ0 cG9ydCA9IExPV1BPUlQ7CgkgICAgZW5kcG9ydCA9IFNUQVJUUE9SVCAtIDE7 CgkgICAgbnBvcnRzID0gU1RBUlRQT1JUIC0gTE9XUE9SVDsKCSAgICBwb3J0 ID0gTE9XUE9SVCArIHBvcnQgJSAoU1RBUlRQT1JUIC0gTE9XUE9SVCk7Cgkg ICAgZ290byBhZ2FpbjsKCX0KCW11dGV4X3VubG9jaygmcG9ydF9sb2NrKTsK CiAgICAgICAgcmV0dXJuIChyZXMpOwp9CiNlbHNlCgojZGVmaW5lIElQX1BP UlRSQU5HRSAxOQojZGVmaW5lIElQX1BPUlRSQU5HRV9MT1cgMgoKLyoKICog QmluZCBhIHNvY2tldCB0byBhIHByaXZpbGVnZWQgSVAgcG9ydAogKi8KaW50 CmJpbmRyZXN2cG9ydF9zYShzZCwgc2EpCglpbnQgc2Q7CglzdHJ1Y3Qgc29j a2FkZHIgKnNhOwp7CglpbnQgb2xkLCBlcnJvciwgYWY7CglzdHJ1Y3Qgc29j a2FkZHJfc3RvcmFnZSBteWFkZHI7CglzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNp bjsKI2lmZGVmIElORVQ2CglzdHJ1Y3Qgc29ja2FkZHJfaW42ICpzaW42Owoj ZW5kaWYKCWludCBwcm90bywgcG9ydHJhbmdlLCBwb3J0bG93OwoJdV9pbnQx Nl90ICpwb3J0cDsKCXNvY2tsZW5fdCBzYWxlbjsKCglpZiAoc2EgPT0gTlVM TCkgewoJCXNhbGVuID0gc2l6ZW9mKG15YWRkcik7CgkJc2EgPSAoc3RydWN0 IHNvY2thZGRyICopJm15YWRkcjsKCgkJaWYgKGdldHNvY2tuYW1lKHNkLCBz YSwgJnNhbGVuKSA9PSAtMSkKCQkJcmV0dXJuIC0xOwkvKiBlcnJubyBpcyBj b3JyZWN0bHkgc2V0ICovCgoJCWFmID0gc2EtPnNhX2ZhbWlseTsKCQltZW1z ZXQoc2EsIDAsIHNhbGVuKTsKCX0gZWxzZQoJCWFmID0gc2EtPnNhX2ZhbWls eTsKCglzd2l0Y2ggKGFmKSB7CgljYXNlIEFGX0lORVQ6CgkJcHJvdG8gPSBJ UFBST1RPX0lQOwoJCXBvcnRyYW5nZSA9IElQX1BPUlRSQU5HRTsKCQlwb3J0 bG93ID0gSVBfUE9SVFJBTkdFX0xPVzsKCQlzaW4gPSAoc3RydWN0IHNvY2th ZGRyX2luICopc2E7CgkJc2FsZW4gPSBzaXplb2Yoc3RydWN0IHNvY2thZGRy X2luKTsKCQlwb3J0cCA9ICZzaW4tPnNpbl9wb3J0OwoJCWJyZWFrOwojaWZk ZWYgSU5FVDYKCWNhc2UgQUZfSU5FVDY6CgkJcHJvdG8gPSBJUFBST1RPX0lQ VjY7CgkJcG9ydHJhbmdlID0gSVBWNl9QT1JUUkFOR0U7CgkJcG9ydGxvdyA9 IElQVjZfUE9SVFJBTkdFX0xPVzsKCQlzaW42ID0gKHN0cnVjdCBzb2NrYWRk cl9pbjYgKilzYTsKCQlzYWxlbiA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJf aW42KTsKCQlwb3J0cCA9ICZzaW42LT5zaW42X3BvcnQ7CgkJYnJlYWs7CiNl bmRpZgoJZGVmYXVsdDoKCQllcnJubyA9IEVQRk5PU1VQUE9SVDsKCQlyZXR1 cm4gKC0xKTsKCX0KCXNhLT5zYV9mYW1pbHkgPSBhZjsKCglpZiAoKnBvcnRw ID09IDApIHsKCQlzb2NrbGVuX3Qgb2xkbGVuID0gc2l6ZW9mKG9sZCk7CgoJ CWVycm9yID0gZ2V0c29ja29wdChzZCwgcHJvdG8sIHBvcnRyYW5nZSwgJm9s ZCwgJm9sZGxlbik7CgkJaWYgKGVycm9yIDwgMCkKCQkJcmV0dXJuIChlcnJv cik7CgoJCWVycm9yID0gc2V0c29ja29wdChzZCwgcHJvdG8sIHBvcnRyYW5n ZSwgJnBvcnRsb3csCgkJICAgIHNpemVvZihwb3J0bG93KSk7CgkJaWYgKGVy cm9yIDwgMCkKCQkJcmV0dXJuIChlcnJvcik7Cgl9CgoJZXJyb3IgPSBiaW5k KHNkLCBzYSwgc2FsZW4pOwoKCWlmICgqcG9ydHAgPT0gMCkgewoJCWludCBz YXZlZF9lcnJubyA9IGVycm5vOwoKCQlpZiAoZXJyb3IgPCAwKSB7CgkJCWlm IChzZXRzb2Nrb3B0KHNkLCBwcm90bywgcG9ydHJhbmdlLCAmb2xkLAoJCQkg ICAgc2l6ZW9mKG9sZCkpIDwgMCkKCQkJCWVycm5vID0gc2F2ZWRfZXJybm87 CgkJCXJldHVybiAoZXJyb3IpOwoJCX0KCgkJaWYgKHNhICE9IChzdHJ1Y3Qg c29ja2FkZHIgKikmbXlhZGRyKSB7CgkJCS8qIEhtbSwgd2hhdCBkaWQgdGhl IGtlcm5lbCBhc3NpZ24/ICovCgkJCWlmIChnZXRzb2NrbmFtZShzZCwgc2Es ICZzYWxlbikgPCAwKQoJCQkJZXJybm8gPSBzYXZlZF9lcnJubzsKCQkJcmV0 dXJuIChlcnJvcik7CgkJfQoJfQoJcmV0dXJuIChlcnJvcik7Cn0KI2VuZGlm Cg== --_002_59D90AF8D70E9740907BACDE2BCB520836E01220RESW102resdom01_ Content-Type: text/plain; charset=us-ascii Content-length: 219 -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --_002_59D90AF8D70E9740907BACDE2BCB520836E01220RESW102resdom01_--