*/
/*
- * the caller may be provide external synchronization OR
- * provide entropy (in buf) to ensure quality results.
+ * the caller may need to provide external synchronization OR
+ * provide entropy (in buf) to ensure quality results as
+ * access to this counter may not be atomic.
*/
static int counter = 0;
int n;
#else
time_t time;
#endif
- unsigned long junk;
+
+ unsigned long junk; /* purposely not initialized */
} rdata;
/* make sure rdata differs for each process */
struct lutil_MD5Context ctx;
char digest[16];
- /* hopefully has good resolution */
+ /* poor resolution */
#ifdef HAVE_GETTIMEOFDAY
(void) gettimeofday( &rdata.tv, NULL );
#else
lutil_MD5Init( &ctx );
lutil_MD5Update( &ctx, (char *) &rdata, sizeof( rdata ) );
- /* use caller to provided information */
+ /* allow caller to provided additional entropy */
lutil_MD5Update( &ctx, (char *) &buf, nbytes );
lutil_MD5Final( digest, &ctx );