Ist / dev / urandom thread-sicher?

8

Dies ist der Code:

%pr_e%

Wenn nicht, wie mache ich es threadsicher?

    
Paweł Hajdan 25.09.2008, 14:07
quelle

1 Antwort

10

Solange jede Ausführung der Funktion in einem eigenen Thread ist (dh die lokalen Variablen number , urandom , bytes_read werden nicht zwischen den Threads geteilt), sehe ich keine Thread-Sicherheitsprobleme . Jeder Thread hat dann seinen eigenen Dateideskriptor in /dev/urandom . /dev/urandom kann gleichzeitig von mehreren Prozessen aus geöffnet werden, also ist das in Ordnung.

Übrigens kann /dev/urandom nicht geöffnet werden und Ihr Code sollte damit umgehen. Einige Ursachen sind: keine verfügbaren Dateideskriptoren mehr; /dev nicht richtig gemountet (obwohl Sie in diesem Fall größere Probleme haben); Ihr Programm wird in einem speziellen chroot ausgeführt, das den Zugriff auf alle Geräte verweigert; usw.

    
Chris Jester-Young 25.09.2008, 14:10
quelle

Tags und Links