From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.6 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 4ECB21F463 for ; Tue, 17 Dec 2019 14:10:04 +0000 (UTC) Received: from localhost ([::1]:40920 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihDY3-00087L-8a for normalperson@yhbt.net; Tue, 17 Dec 2019 09:10:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50341) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihDX0-0007IO-Ft for bug-gnulib@gnu.org; Tue, 17 Dec 2019 09:08:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihDWz-0002LL-Al for bug-gnulib@gnu.org; Tue, 17 Dec 2019 09:08:58 -0500 Received: from mout.gmx.net ([212.227.15.15]:53325) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ihDWz-0002K9-0i for bug-gnulib@gnu.org; Tue, 17 Dec 2019 09:08:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1576591735; bh=MfVTddk65PxCdv0xp9uo5wVi4y/eJYCCdtVLQp8iuks=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=YO21nadJKpEp1hBaNuMpvdVCkts97SQLCv3aIFIzIWQ6tqRTQEAwnhS7MXX+Rpa3E WabHso6dUCLbtJW6A4V9iPOZqGf0FVf1fOkn/AlMpsv8yFcnsQodgjEOav34woRZtc CRVh9eKCzeT9If80hFssFcpyJR51+iK1eSWOQ9IU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.111.218] ([31.17.216.109]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MacSe-1i6F9Y41F4-00cDPs; Tue, 17 Dec 2019 15:08:55 +0100 Subject: Re: hard-locale: make multithread-safe To: Bruno Haible , bug-gnulib@gnu.org References: <175192568.e2XXTFFdkW@omega> From: =?UTF-8?Q?Tim_R=c3=bchsen?= Autocrypt: addr=tim.ruehsen@gmx.de; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Tue, 17 Dec 2019 15:08:54 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 In-Reply-To: <175192568.e2XXTFFdkW@omega> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="1nhgOGXByFkXu7rEKZPmdXFFnc8TmqKu0" X-Provags-ID: V03:K1:fvHCK8dTksYfF2YD3559Ebfkv0jKCBGsvKOUSjvkxF6v91grs+6 aSVZLe8LjImuTcw9uk/bXny9TEcUJzmj98VF+B146yhQmd1IWCP4eC2DK6gs/n32STrtQwX E6BFOHpeB7dQ4ywv6QXk6fSVG2YtVdRq/zhwgAR6iPR9VJAbL6gCADu8HW8kk0qlx7fPNfa S9/B99YpM4JjSM1Sy5maQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:yaQvkZl7bHw=:MtHhIdMoFYDaQjH2TXK57Q Ih+idLSKYGq7MscLQkAuZ9XsatgbtD78YUqfihQ2JVQ7qHf3v4iAD58+ShGIBVLXcCMdO/Eid jsgM8u9nmRyC21QxZ6lAABmQmrrIQYZiDumfonnSrtQ0W+gAFofPkMq4oWnnn+M30x+ekA9kf BA/tikyqc0JhpgAG4lv4UnWoiHMayWkkjpwXXFcOUm+BZcMFkQOHa4m66s0mHX7pUNhBdnjOw yOMrn7Dn9APjqL8c2fRZuEn2IBWsQC4L3EXQs47Oq+C7vUQ5Wm+FIOUwAJZ0pHdiiW3X2n+45 nyT+KMy6z15REM+EG9y+B9o5IXcOky/Sl2gkaprjnJwBhoRn7xwowFU8zS5WccUfoUAIhcbOI 55IWlKci+8MRf+Me2raYwiw/SbGUDG3+r1BVCcskTMBq0DPllutAOvp6oRYgGFNO+0eQRJ9HP LM4/n8rd9uM3JxR1rfDC4ADF9PmfwmipFhmDXxQOQgEeKV+LbuBilDUU+YAhZZAJ70xef1W+M px52hNUDtduFWQ/AjXVhy+aJBJADFVJ6SXRutZuemgaJIuW53/QPMchga+lD52F+5futwIOf5 cBPK8ir8eX9UfeVTqO1EzxVKIiOCw88SJ70tY/IbNlxWiuZ01/JOAmklFfoVWxNuu9NT+PNo9 R9Icygy4UpxtX+I38S5X/D6b5F54AoORRRNd58irsHhqLHKe3zZ2h2DiKdYJqweJTx48o8izH 26LongMd2nciXCy/Tu7HScVLVE1lTjywQZeQLhFeWGMYDIfPH+hgWwApbreVeAkcL3Tw6sM1z DIVyh/u0IrED5xkQ3/iTJpNGjGvo3j7DQnvI6JObYnIcIxKvkl5YsUQauCMXCg0n/FybAhNXy EbsU7+6qApzVMbD8+QJF2RHrnUiv+/t7zY+uRei6RdOIDst0O9u4wzpkf5GrsbVxz+5+LMuwM j1/5Uq7bMIOlAV3qwUhkUaUR6xOFOJ1dm7Ak6xPDZNCIKWeo2rYoTdJSlgJ9lXXQlAvqJztVW qCL8LXwvEKav6RKta7tvqONDqpGQ/736x97myei2moVxoULbw5JoLVymmx4SfMTxvZkX1Z3fr xiTHJdoC926ZoehL9xG5ogFFfphTkoCH7TDP/5v5rJOYjlNyky4jni5ZohVVHyZPiEj+7DCz/ +Prr/z1FBrNAhwxo7R6mFx5tmo3romp+RpVRo3Dsk0P9ebz/8hrcF3r29TPnURQDlL0WDYqvW Tah9nCfph4Kt6/287UIMC4oZK7GqHIXOciyW/GncoYOyULPy9sZ5xrd0nnsQ= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.15.15 X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: "bug-gnulib" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --1nhgOGXByFkXu7rEKZPmdXFFnc8TmqKu0 Content-Type: multipart/mixed; boundary="dO9YXQerdwOhI7zpL4poAOGTq9bR3frX0"; protected-headers="v1" From: =?UTF-8?Q?Tim_R=c3=bchsen?= To: Bruno Haible , bug-gnulib@gnu.org Message-ID: Subject: Re: hard-locale: make multithread-safe References: <175192568.e2XXTFFdkW@omega> In-Reply-To: <175192568.e2XXTFFdkW@omega> --dO9YXQerdwOhI7zpL4poAOGTq9bR3frX0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Hi Bruno, hi gnulib developers, it's a joy to follow the posts on this list - you (all) surprise, impress and inspire me with your code but even more with your detailed explanations / documentations. Thank you so much for your ongoing work !!! [E.g. this post made me check my code for mbtowc/mbrtowc (and also to read the man pages again). In fact I found a call to mbtowc in MT code (protected by a mutex) without resetting the internal state.] Regards, Tim On 12/17/19 2:45 PM, Bruno Haible wrote: > Hi Paul, >=20 > Here is a proposed patch to make the hard_locale() function multithread= -safe. > This is needed because our mbrtowc() override relies on hard_locale, an= d > mbrtowc obviously must be multi-thread safe (that's one of its main fea= tures, > compared to mbtowc). >=20 > The previous hard_locale code tries to guess whether a locale is in fac= t > a "C"/"POSIX" locale, although it is not apparent from its name. This w= as > a case to worry about between 1995 and 2000, when many systems did not > have working locales. This has changed: Nowadays nearly all platforms > honour the locale names with some localized behaviour, except OpenBSD, > Minix, and Android. It's not my priority to optimize for these three > systems. But if you want to keep optimizations for these platforms, > we could add #ifs for these platforms. --dO9YXQerdwOhI7zpL4poAOGTq9bR3frX0-- --1nhgOGXByFkXu7rEKZPmdXFFnc8TmqKu0 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEHLJ9vJhhSy1YQWRtCDAttqJnBCgFAl344XYACgkQCDAttqJn BCjpexAAgheV2LoiSesHSOSurfrkDt2JyzpvwCAFLdAJIwnqN7C51OKl113WUDRP eijhqBc4bOihe+Z0yq7j+L6VRiDrcj4AibuBDsecihWASlKyvRhDrQiZKkSMJGKH BsjvQGo5NRtrXbi+XOWGQiZLodCx5jHvT2Cw2eelOvmrDLd7+lzRqcQjOQ1OUCC5 fmw2fe4UPDVYfUYYDTsfI2k+1KgR4gvFm9p6lczlzWtRVcqP/2AnCtiGkr6ZmKTd /rSfXEwb8pIOfE8m3ON9762eBOK/l8rh/L5RISHP4uWtdnXzVcgkv/qwPJ/yt9eo /1Qk923Te5R8tY7rnVa0r4Jp5tidLV9e5EFbhsBK4sdAmtE38v2CQ691v78Jy+OY sO5Iguso+/I6mCOUHXJxYp35pj6mbQZoRd7k4xW4e+PA1YCWnWMwd6wP4tRfvnWl pTzNR/yqc9fMRAxOunlox8Fy6Kofac14yLijfIwYGmAgl8qI2iLv2d+G5dFAY6Uk ZcDisPToVHm6ExnvGUufLLGC+vW/9qCWpJahTOw+NzLOGHrJ90Iom4qldne1nj0C 4fpfg+6vQTlxhNyi1EWY8XPlT+CHDN9EYpG3dlZv2ONhD7+9/37GXIDX90ldDaO9 8wFoQCzZa8Oz0yGn1+61wPiOQMYCy+gmhnWCGXwdCsnY+norixQ= =xbLc -----END PGP SIGNATURE----- --1nhgOGXByFkXu7rEKZPmdXFFnc8TmqKu0--