From 23c53c18c0db619efdc55f6c1669f458822f5327 Mon Sep 17 00:00:00 2001 From: "David M. Lee" Date: Thu, 29 Nov 2012 17:16:50 +0000 Subject: Fixed ast_random's comment about locking. The original comment was separated from the code at some point, and didn't reflect the use of libc's other than glibc for Linux. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376821 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/utils.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'main') diff --git a/main/utils.c b/main/utils.c index 1ea837109..24a8326a8 100644 --- a/main/utils.c +++ b/main/utils.c @@ -1487,9 +1487,6 @@ int ast_remaining_ms(struct timeval start, int max_ms) #undef ONE_MILLION -/*! \brief glibc puts a lock inside random(3), so that the results are thread-safe. - * BSD libc (and others) do not. */ - #ifndef linux AST_MUTEX_DEFINE_STATIC(randomlock); #endif @@ -1508,6 +1505,13 @@ long int ast_random(void) } } #endif + /* XXX - Thread safety really depends on the libc, not the OS. + * + * But... popular Linux libc's (uClibc, glibc, eglibc), all have a + * somewhat thread safe random(3) (results are random, but not + * reproducible). The libc's for other systems (BSD, et al.), not so + * much. + */ #ifdef linux res = random(); #else -- cgit v1.2.3