ist der Code:Wird/dev/urandom thread-sicher gelesen? Dieser
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();
}
Wenn nicht, wie kann ich es Thread-sicher?
Natürlich sollte es sicher sein, der Vernunft halber, aber ich kann nichts in Mann 4 zufällig finden, das angibt, dass es ist. Zum Beispiel, wenn der Zufallsgenerator wieder in den PRNG-Modus zurückgefallen ist, könnten zwei gleichzeitige Anrufer jemals die gleiche Ausgabe anders als zufällig sehen? Sicher nicht, aber wo sagen die Ärzte nicht? –
"Die gleiche Ausgabe sehen" ist ein Sonderfall von "zufällig". :-) –
@SteveJessop: Die Dokumentation muss nicht sagen, dass die Schnittstelle funktioniert. Außerdem hat urandom nur einen Modus. –