Este es el código:¿Está leyendo/dev/urandom thread-safe?
unsigned int number;
FILE* urandom = fopen("/dev/urandom", "r");
if (urandom) {
size_t bytes_read = fread(&number, 1, sizeof(number), urandom);
DCHECK(bytes_read == sizeof(number));
fclose(urandom);
} else {
NOTREACHED();
}
Si no, ¿cómo puedo hacer que el hilo de seguridad?
Claramente debe ser seguro, por el bien de la cordura, pero no puedo encontrar nada en el hombre 4 al azar que especifique que sí lo es. Por ejemplo, si urandom ha vuelto al modo PRNG, ¿podrían dos emisores de llamadas simultáneos ver el mismo resultado por casualidad? Seguramente no, pero ¿dónde dicen los doctores? –
"Ver el mismo resultado" es un caso especial de "aleatorio". :-) –
@SteveJessop: La documentación no necesita decir que la interfaz funciona. Además, urandom solo tiene un modo. –