delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:from:to:subject:date:message-id:content-type | |
:mime-version; q=dns; s=default; b=sIkT85VdgmJzd7jGthtAXHFBLnVm3 | |
6nfIMIXObwk4uIlteb+QXCaOSyZtaOCB4xvaiCptdKQcfsBfinoxxWLaFR6EU/HU | |
RvxQWxBFYE0tYuG7Gc4v6SfKOpp+xtTSPk15may6kLS+9G0IIYhy54OgWTUh7I+m | |
OwPwm550iGZ1OE= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:from:to:subject:date:message-id:content-type | |
:mime-version; s=default; bh=f/DLUf2cgBnqt5afUN4SLxQb0L8=; b=NKv | |
GjmIC0LmKNS66xLDUvIBu/BYTS4DlGNEc3WUd99l1/GldKD/+xacYgALWDRKx7Ja | |
jyxFM1ZBryyJkQf23/d1N0TmEZEtYFxrMBsxkWJlYsh8d8Dc+oOMuDfnqbtt8K2I | |
Akb6Tp/2NOIj2diVbbMaBPcQZ2eCRZjoVU7bz70Y= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
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 |
From: | "PAULUS, Raimund, TI-ABN" <Raimund DOT Paulus AT dillinger DOT biz> |
To: | "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com> |
Subject: | Re: RPC clnt_create() adress already in use |
Date: | Tue, 30 Jan 2018 10:07:35 +0000 |
Message-ID: | <59D90AF8D70E9740907BACDE2BCB520836E01220@RESW102.resdom01.local> |
MIME-Version: | 1.0 |
X-IsSubscribed: | yes |
--_002_59D90AF8D70E9740907BACDE2BCB520836E01220RESW102resdom01_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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 AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com] Im Auftrag vo= n Mark Geisert Gesendet: Dienstag, 30. Januar 2018 10:05 An: cygwin AT cygwin DOT 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 AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com] Im=20 > Auftrag von PAULUS, Raimund, TI-ABN > Gesendet: Dienstag, 9. Januar 2018 09:14 > An: cygwin AT cygwin DOT 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 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 -- 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_--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |