Fixed ast_random's comment about locking.
authorDavid M. Lee <dlee@digium.com>
Thu, 29 Nov 2012 17:16:50 +0000 (17:16 +0000)
committerDavid M. Lee <dlee@digium.com>
Thu, 29 Nov 2012 17:16:50 +0000 (17:16 +0000)
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

index 1ea8371..24a8326 100644 (file)
@@ -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