delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2018/01/31/04:12:05

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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=VLV2PxNHX1EgKTDIC1n2JbEsTf5Xp0HnngXwFZJWmzE6lJ0gfKc24
iga+Wxtz69j95IIgx5+3/yLMwkguXTzKvQQVCZ1OPPBCfCO2vqY+8o58/8Z6thde
BQaHdFMrt/DkE/Ey5Oqy66cPcTi9Mlr+zlBlfLdJkquoqRl4KMUnyM=
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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=ZhbRTNxWDK+/nkNv+AthuDKn+0w=; b=NWTxsZX94Lw4ff4HyUTFt6G5l0ej
Zr6waimu7u8Ep+XX8FJ1bIlQSBxSV6371zgdxIioioHazUaFqkE+gHP4/9nR7csu
q5qXHfVEwzMJ+JSv1UXN1GS1vN9E59NDvXa5PgF1FGyDDvV0nVHsJQAss+Ib8O4Z
oiyH7go3EvVdZyo=
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=-101.9 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=H*R:D*cygwin.com
X-HELO: drew.franken.de
Date: Wed, 31 Jan 2018 10:10:53 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: RPC clnt_create() adress already in use
Message-ID: <20180131091053.GA4223@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <59D90AF8D70E9740907BACDE2BCB520836E01220 AT RESW102 DOT resdom01 DOT local> <812cb3b6-9d28-971c-45eb-38421d817ca4 AT maxrnd DOT com>
MIME-Version: 1.0
In-Reply-To: <812cb3b6-9d28-971c-45eb-38421d817ca4@maxrnd.com>
User-Agent: Mutt/1.9.1 (2017-09-22)

--gKMricLos+KVdGMg
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Jan 31 00:15, Mark Geisert wrote:
> PAULUS, Raimund, TI-ABN wrote:
> > Hi Mark,
> >=20
> > in my email (https://sourceware.org/ml/cygwin/2017-12/msg00194.html) i =
described 2 approaches. I prefer  nr 1.
> > Here the part of the source in bindresvport.c:
> > [...]
> > This causes bind() to search an unused port. I use libtirpc with this f=
ix since several weeks and it works for me. I don't know an other way (fixi=
ng Cygwin) 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 u=
se Cygwin 1.5.18 with the old librpc.
> [...]
>=20
> Hi Raimund,
> Thanks for attaching the complete source for your modified bindresvport.c.
> I had been treating your setting of port to 0 as a workaround rather than=
 as
> a solution.  My misunderstanding.
>=20
> We can't solve the issue that way because when bind() is called with a
> zeroed port number, it picks a random port number that's often outside the
> range of ports bindresvport() is supposed to return (i.e., a port between
> STARTPORT and ENDPORT).
>=20
> I thought of something similar to your idea but obeying the bindresvport()
> semantics.  I add a static short value named 'usecount' to the function's
> local variables.  Mid-function, I have this code to choose a port number:
>     if (port =3D=3D 0) {
>         port =3D ((getpid() + usecount++) % NPORTS) + STARTPORT;
>     }
>=20
> Can you try this with your testcase(s) and make sure it works for you?

I'm a bit puzzled here in terms of using your own bindresvport.  Cygwin
implements bindresvport{_sa} for quite some time, 2006 or earlier.


Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--gKMricLos+KVdGMg
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAlpxiB0ACgkQ9TYGna5E
T6CGbA//W3UU599RZVcZh6X+LLZR0+QPS1oOPUutnFNB1fNeyTaiK84YFRIaDEBl
dEAsmmW/0m4bxvJ4veOGkdxO3CVRwBfROul+0lqFgFRDgvP8ivsvBfDjBQTXFYVn
fYvXKpJ89VRTl23MeRpOFJlxSfnCPWuFbUzP6rqQe62XGUcpiS5L71K3wOQqg3Uz
Gu69cDRX5ZFnUvgxfCLw25M4ikqUblFihfkl+ly46lIpELJeX8W/X930G0Vzd5JU
XXvMCO+7utmMoGjDimoeAmDwzae+FJlXN/FcTVIafAKKdenxRXywMRzm4rqulTAg
dP6R2AL9dvg2fQTYTuI9/nzrn9cf/nqTi0U7R//xE+mizyESbDCpgnQO3K0T/GR+
WfJtvYroZa5YibjwQMMefc/TsdyALEOe9nadMxaBCsNoJ09b3qOe+cj1a3YKhQBk
jSLcG8qHoOet9+o4THdbOr2wx1wr6VV3vYR+13bkRiLnSN5JldWRbIncNG6QTnEp
Tl0JzwGoRx8tZ3T8jx09P2QSlOeNaCDYB+e1v1hbsfj2MRoYZV3s7WAN2ykRZ2bm
QaHnknVFhzV+qhyThXZURZKdgwNQVhJROkn1vv4srlLLur+LwcB9DUfe5fxInBrd
9Zey+l6YlKWQWp2rgHEsDkexhZfPkOZHgiFe8lHfr69zS5b3iTk=
=gDD5
-----END PGP SIGNATURE-----

--gKMricLos+KVdGMg--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019