[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-122-g08904
From: |
Mark H Weaver |
Subject: |
[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-122-g0890466 |
Date: |
Mon, 25 Feb 2013 01:15:53 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=08904661a2b1c6d461b2f5abfe3226a4023453fb
The branch, stable-2.0 has been updated
via 08904661a2b1c6d461b2f5abfe3226a4023453fb (commit)
from c085589b1c34fa88d28c23cb5e3659fecdb09f33 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 08904661a2b1c6d461b2f5abfe3226a4023453fb
Author: Mark H Weaver <address@hidden>
Date: Sun Feb 24 19:57:00 2013 -0500
random-state-from-platform: simplify pid conditional, and clarify docs.
* libguile/random.c (random_state_of_last_resort): Simplify optional
inclusion of PID in the random state. Clarify in the comments that
the PID is only included where scm_getpid is present.
* doc/ref/api-data.texi (Random): Clarify that
'random-state-from-platform' includes the PID in the random state only
if scm_getpid is present.
-----------------------------------------------------------------------
Summary of changes:
doc/ref/api-data.texi | 6 +++---
libguile/random.c | 17 ++++++++---------
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index 9da17d8..e17c0c2 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -1872,9 +1872,9 @@ read back with the Scheme reader.
Construct a new random state seeded from a platform-specific source of
entropy, appropriate for use in non-security-critical applications.
Currently @file{/dev/urandom} is tried first, or else the seed is based
-on the time, date, process ID, an address from a freshly allocated heap
-cell, an address from the local stack frame, and a high-resolution timer
-if available.
+on the time, date, process ID (if scm_getpid is present), an address
+from a freshly allocated heap cell, an address from the local stack
+frame, and a high-resolution timer if available.
@end deffn
@defvar *random-state*
diff --git a/libguile/random.c b/libguile/random.c
index a85ee81..9cb5e69 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -653,11 +653,11 @@ SCM_DEFINE (scm_random_exp, "random:exp", 0, 1, 0,
}
#undef FUNC_NAME
-/* Return a new random-state seeded from the time, date, process ID, an
- address from a freshly allocated heap cell, an address from the local
- stack frame, and a high-resolution timer if available. This is only
- to be used as a last resort, when no better source of entropy is
- available. */
+/* Return a new random-state seeded from the time, date, process ID (if
+ scm_getpid is present), an address from a freshly allocated heap
+ cell, an address from the local stack frame, and a high-resolution
+ timer if available. This is only to be used as a last resort, when
+ no better source of entropy is available. */
static SCM
random_state_of_last_resort (void)
{
@@ -665,6 +665,9 @@ random_state_of_last_resort (void)
SCM time_of_day = scm_gettimeofday ();
SCM sources = scm_list_n
(scm_from_unsigned_integer (SCM_UNPACK (time_of_day)), /* heap addr */
+#ifdef HAVE_POSIX
+ scm_getpid (), /* process ID */
+#endif
scm_get_internal_real_time (), /* high-resolution process timer */
scm_from_unsigned_integer ((scm_t_bits) &time_of_day), /* stack addr */
scm_car (time_of_day), /* seconds since midnight 1970-01-01 UTC */
@@ -672,10 +675,6 @@ random_state_of_last_resort (void)
SCM_UNDEFINED);
SCM seed = SCM_INUM0;
-#ifdef HAVE_POSIX
- sources = scm_cons (scm_getpid (), sources); /* process ID */
-#endif
-
/* Concatenate the sources bitwise to form the seed */
while (scm_is_pair (sources))
{
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-122-g0890466,
Mark H Weaver <=