From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) by sourceware.org (Postfix) with ESMTPS id 4F10E383E804 for ; Mon, 4 May 2020 12:27:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4F10E383E804 Received: by mail-qk1-x741.google.com with SMTP id b188so16241543qkd.9 for ; Mon, 04 May 2020 05:27:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:autocrypt :message-id:date:user-agent:mime-version:in-reply-to; bh=R5DLtCRWcTGknJOPWY4KphgAW2xpe7psAgYeB4nX8uI=; b=IAC+BdDWrRzGRag1hsqXOSvHWOeuOlrENh0pLtFmxjLcOCWgrhrW+9tqBZv8rqR9P0 irPHuUjzC4/EAxMf3K4JA7hHFTFeeICEj2EvpRzng8C2napXJ4gQP1iszoeBGka3d0NJ XjWPg4EPl+hX6yrhulMKAqr34vcZtXHf4N9S79hCj5PdbY8wW0XEDSfLhJW/QuxjU4Jt bObqeimkhz4/7iZ/++EEn90uWmnMCjDmrSEpLNHA4J6d0YMtFpD7Lzq8/PoZg3Acwyjf NuHSevAmHkqkkPi6x7rSvzi2sjEBoBFrmtLpJm3FcEwbUpKP2wQY2yQurkO0c0koV3nv V4HQ== X-Gm-Message-State: AGi0PuYfn7YaVgC0RYxc8olOD1qALPQRVYZaxTw0GmI/tNBtd1dYaGSm /C0IhEHDVaZBq7aRTQdNwNSiTw== X-Google-Smtp-Source: APiQypKVww53ENKq/6yzbhnyCg9CJSPb6Obl94T5nebgWQJh/eOaFoFXXjyaLPugUInTD+jTwb5s4w== X-Received: by 2002:a05:620a:566:: with SMTP id p6mr15614262qkp.199.1588595234741; Mon, 04 May 2020 05:27:14 -0700 (PDT) Received: from [192.168.1.4] ([177.194.48.209]) by smtp.googlemail.com with ESMTPSA id g127sm3578124qkb.6.2020.05.04.05.27.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 04 May 2020 05:27:14 -0700 (PDT) Subject: Re: [PATCH v2 4/5] y2038: nscd: Modify nscd_helper to use __clock_gettime64 To: Lukasz Majewski Cc: Joseph Myers , Alistair Francis , Alistair Francis , GNU C Library , Florian Weimer , Andreas Schwab References: <20200326080641.10193-1-lukma@denx.de> <20200326080641.10193-5-lukma@denx.de> <75a07d68-e303-b675-2230-5fc32637d9a6@linaro.org> <20200501133005.0338ac76@jawa> From: Adhemerval Zanella Autocrypt: addr=adhemerval.zanella@linaro.org; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Mon, 4 May 2020 09:27:10 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200501133005.0338ac76@jawa> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="5KknhM06WPaJ5xXVAHwUs3TVus8qwJ0pS" X-Spam-Status: No, score=-24.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 May 2020 12:27:19 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --5KknhM06WPaJ5xXVAHwUs3TVus8qwJ0pS Content-Type: multipart/mixed; boundary="KA2pzCqx4lZICoSIi4kBH3agbb4jqQITy"; protected-headers="v1" From: Adhemerval Zanella To: Lukasz Majewski Cc: Joseph Myers , Alistair Francis , Alistair Francis , GNU C Library , Florian Weimer , Andreas Schwab Message-ID: Subject: Re: [PATCH v2 4/5] y2038: nscd: Modify nscd_helper to use __clock_gettime64 References: <20200326080641.10193-1-lukma@denx.de> <20200326080641.10193-5-lukma@denx.de> <75a07d68-e303-b675-2230-5fc32637d9a6@linaro.org> <20200501133005.0338ac76@jawa> In-Reply-To: <20200501133005.0338ac76@jawa> --KA2pzCqx4lZICoSIi4kBH3agbb4jqQITy Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 01/05/2020 08:30, Lukasz Majewski wrote: > Hi Adhemerval, >=20 >> On 26/03/2020 05:06, Lukasz Majewski wrote: >>> The nscd/nscd_helper.c uses __clock_gettime to get current time and >>> on this basis calculate the relative timeout for poll. >>> By using __clock_gettime64 on systems with __WORDSIZE =3D=3D 32 && >>> __TIMESIZE !=3D 64 the timeout is correctly calculated after time_t >>> overflow. =20 >> >> LGTM, thanks. >> >>> --- >>> nscd/nscd_helper.c | 17 +++++++++-------- >>> 1 file changed, 9 insertions(+), 8 deletions(-) >>> >>> diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c >>> index d2d7d15f26..a4f3312f90 100644 >>> --- a/nscd/nscd_helper.c >>> +++ b/nscd/nscd_helper.c >>> @@ -37,6 +37,7 @@ >>> #include >>> #include >>> #include >>> +#include >>> =20 >>> #include "nscd-client.h" >>> =20 >>> @@ -59,10 +60,10 @@ wait_on_socket (int sock, long int usectmo) >>> /* Handle the case where the poll() call is interrupted by a >>> signal. We cannot just use TEMP_FAILURE_RETRY since it >>> might lead to infinite loops. */ >>> - struct timespec now; >>> - __clock_gettime (CLOCK_REALTIME, &now); >>> - long int end =3D (now.tv_sec * 1000 + usectmo >>> - + (now.tv_nsec + 500000) / 1000000); >>> + struct __timespec64 now; >>> + __clock_gettime64 (CLOCK_REALTIME, &now); >>> + int64_t end =3D (now.tv_sec * 1000 + usectmo >>> + + (now.tv_nsec + 500000) / 1000000); >>> long int timeout =3D usectmo; >>> while (1) >>> { =20 >> >> Ok. Maybe we could use ppoll instead here to simplify the timeout >> calculation? >> >=20 > I wanted to change as little as possible (to not introduce any extra > bugs) to only replace __clock_gettime with __clock_gettime64.=20 I don't have a strong opinion here, it is just that it might simplifies a bit the timeout handling. >=20 >>> @@ -71,7 +72,7 @@ wait_on_socket (int sock, long int usectmo) >>> break; >>> =20 >>> /* Recompute the timeout time. */ >>> - __clock_gettime (CLOCK_REALTIME, &now); >>> + __clock_gettime64 (CLOCK_REALTIME, &now); >>> timeout =3D end - ((now.tv_sec * 1000 >>> + (now.tv_nsec + 500000) / 1000000)); >>> } =20 >> >> Ok. >> >>> @@ -193,7 +194,7 @@ open_socket (request_type type, const char >>> *key, size_t keylen) memcpy (reqdata->key, key, keylen); >>> =20 >>> bool first_try =3D true; >>> - struct timespec tvend =3D { 0, 0 }; >>> + struct __timespec64 tvend =3D { 0, 0 }; >>> while (1) >>> { =20 >> >> Ok. >> >>> #ifndef MSG_NOSIGNAL >>> @@ -212,8 +213,8 @@ open_socket (request_type type, const char >>> *key, size_t keylen)=20 >>> /* The daemon is busy wait for it. */ >>> int to; >>> - struct timespec now; >>> - __clock_gettime (CLOCK_REALTIME, &now); >>> + struct __timespec64 now; >>> + __clock_gettime64 (CLOCK_REALTIME, &now); >>> if (first_try) >>> { >>> tvend.tv_nsec =3D now.tv_nsec; >>> =20 >> >> Ok. >=20 >=20 >=20 >=20 > Best regards, >=20 > Lukasz Majewski >=20 > -- >=20 > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.d= e >=20 --KA2pzCqx4lZICoSIi4kBH3agbb4jqQITy-- --5KknhM06WPaJ5xXVAHwUs3TVus8qwJ0pS Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEUMEGt8/rO2QSpplaqrHsFKeUiO8FAl6wCh4ACgkQqrHsFKeU iO+kQA/+OZHzrkns/jtYUOctpMs5w8Sd+wP4mh7TsDHsRuP/1576C7czLNRYCr9x ExAHFTWZhjefQOLuhgxqiXpJpzKRV7CS+Y00s166NchKVa0XOH3L+rCIotlKeWBy i9asvuOP7MCsV5WhjnDAikVkO4s5S0VEI6wyQOTFmDf5uwJc1IB7ObcEc5/VdZE9 cb7O0bPx/6uOct4VdNSDtkDNMkdgelEkmONFqX8yoAx1mAPMCwTpqQ/bBx63+zTw AY04ZP7cp1xauG0UrMXRVFSLCX3MC7dobaHpOmwiiLqulj3uRjHDYPp6CLqfHtmY JBcWCHzPMValnGhUmkR8oBIzFqpol9HeYXQOp5cAvleoW+J5OYo2v7bxdM79EikK H406pTtt8OYFYU2Vm4dZK13EO6J2jkyGMaRq9Pr8iKdeD6o0tBn5hgQCrZvat8Wr Ixi/pRRGScPiu0tX0W4KsNt/OjaJ3fBK1FubZCnnct1VthMAseNRzNqUttcSWmXZ vPxSecq35GRo3OkDBtPbgrS6cgAZslqjElnoCLJF04MUpFtmdXkzayYLYbhbssAw vztJ1oma7BZ3tKjwDm2Zo/Zhgrwtp2fwtBjKOJE1nEFnT9Hoj9VN+5xuZtv7b/V6 45rTqQozomgIzlR9w0g00PhgEiHMz1jYP7BRz/k76KoXSm0ZG+A= =US5i -----END PGP SIGNATURE----- --5KknhM06WPaJ5xXVAHwUs3TVus8qwJ0pS--