summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/til.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/til.c b/src/til.c
index 3cbd294..651a23a 100644
--- a/src/til.c
+++ b/src/til.c
@@ -8,6 +8,7 @@
#include <string.h>
#include <stdint.h>
#include <sys/time.h>
+#include <time.h>
#include <unistd.h>
#include "til.h"
@@ -68,6 +69,14 @@ static const til_module_t *modules[] = {
/* initialize rototiller (create rendering threads) */
int til_init(void)
{
+ /* Various modules seed srand(), just do it here so they don't need to.
+ * At some point in the future this might become undesirable, if reproducible
+ * pseudo-randomized output is actually desirable. But that should probably be
+ * achieved using rand_r() anyways, since modules can't prevent others from playing
+ * with srand().
+ */
+ srand(time(NULL) + getpid());
+
if (!(til_threads = til_threads_create()))
return -errno;
© All Rights Reserved