Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2023-11-14 19:52:48 +0300
committerCorinna Vinschen <corinna@vinschen.de>2023-11-14 19:52:48 +0300
commit324ace778f70e3e89d16c5460d2f9b4454acddb2 (patch)
tree66eff57054b8ff0b20435e57f15d699192240f44 /winsup
parentc4008b8bc066ee101c3dc6463db7516edb7dc666 (diff)
Cygwin: rand(3): implement in terms of random(3)
This makes rand(3) ISO C compliant and adds locking to avoid race conditions. Reported-by: Bruno Haible <bruno@clisp.org> Fixes: 8a0efa53e4491 ("import newlib-2000-02-17 snapshot") Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/random.cc8
-rw-r--r--winsup/cygwin/release/3.4.103
2 files changed, 11 insertions, 0 deletions
diff --git a/winsup/cygwin/random.cc b/winsup/cygwin/random.cc
index 51f5a6e96..ddba6fb94 100644
--- a/winsup/cygwin/random.cc
+++ b/winsup/cygwin/random.cc
@@ -293,6 +293,8 @@ srandom(unsigned x)
__random_unlock();
}
+EXPORT_ALIAS (srandom, srand)
+
/*
* initstate:
*
@@ -481,4 +483,10 @@ random()
return (r);
}
+int
+rand()
+{
+ return ((int) random());
+}
+
}
diff --git a/winsup/cygwin/release/3.4.10 b/winsup/cygwin/release/3.4.10
index 3bbbca381..758a6e071 100644
--- a/winsup/cygwin/release/3.4.10
+++ b/winsup/cygwin/release/3.4.10
@@ -15,3 +15,6 @@ Bug Fixes
- 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