From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 4966D3858425; Tue, 14 Nov 2023 16:56:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4966D3858425 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1699980972; bh=YMSsxMbD4e02uz4jIgoB1SHON0fMsq0B9/Tb4xcN3kw=; h=From:To:Subject:Date:From; b=xQ/VzjLaQ1g6ucZScv9mduoglXQmFI3eBSlTMrcLpruwlQwzgWJqWmNGnZvkO1hY5 k/lojq92lRLKDnWMR7RU9HzBjq5dx5f1G8S0I+FXU9elMDwWNV5uA2VNBSCyCro7lv cbu2HGIr9Eoc5jZjX0Oqye9VZxmw6VhM63hrAKfM= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/main] Cygwin: rand(3): implement in terms of random(3) X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/main X-Git-Oldrev: c4008b8bc066ee101c3dc6463db7516edb7dc666 X-Git-Newrev: 324ace778f70e3e89d16c5460d2f9b4454acddb2 Message-Id: <20231114165612.4966D3858425@sourceware.org> Date: Tue, 14 Nov 2023 16:56:12 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3D324ace778f7= 0e3e89d16c5460d2f9b4454acddb2 commit 324ace778f70e3e89d16c5460d2f9b4454acddb2 Author: Corinna Vinschen AuthorDate: Tue Nov 14 17:52:48 2023 +0100 Commit: Corinna Vinschen CommitDate: Tue Nov 14 17:52:48 2023 +0100 Cygwin: rand(3): implement in terms of random(3) =20 This makes rand(3) ISO C compliant and adds locking to avoid race conditions. =20 Reported-by: Bruno Haible Fixes: 8a0efa53e4491 ("import newlib-2000-02-17 snapshot") Signed-off-by: Corinna Vinschen Diff: --- winsup/cygwin/random.cc | 8 ++++++++ winsup/cygwin/release/3.4.10 | 3 +++ 2 files changed, 11 insertions(+) diff --git a/winsup/cygwin/random.cc b/winsup/cygwin/random.cc index 51f5a6e963e0..ddba6fb944ec 100644 --- a/winsup/cygwin/random.cc +++ b/winsup/cygwin/random.cc @@ -293,6 +293,8 @@ srandom(unsigned x) __random_unlock(); } =20 +EXPORT_ALIAS (srandom, srand) + /* * initstate: * @@ -481,4 +483,10 @@ random() return (r); } =20 +int +rand() +{ + return ((int) random()); +} + } diff --git a/winsup/cygwin/release/3.4.10 b/winsup/cygwin/release/3.4.10 index 3bbbca38138b..758a6e071c59 100644 --- a/winsup/cygwin/release/3.4.10 +++ b/winsup/cygwin/release/3.4.10 @@ -15,3 +15,6 @@ Bug Fixes =20 - Updates to profiler and gmondump: error display mechanics, buffer sizing, and output formatting. + +- Align behaviour of rand(3) to ISO C. + Adresses: https://cygwin.com/pipermail/cygwin/2023-November/254735.html