PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Liste thread-unsaver Funktionen?



nobody0
30-10-2003, 23:55
Wo gibt es zumindest für (ANSI-)C eine Liste der thread-unsaven Funktionen? :confused:

Von strtok ist ja bekannt dass es thread-unsave sind, aber welche anderen sind es noch? :confused:

RapidMax
31-10-2003, 12:04
Hmm, es wird sowieso empfohlen diese Funktion nicht zu verwenden.

Die Ursache, dass die Funktion nicht thread-save ist, liegt daran, dass sie einen statischen Buffer verwendet. Das selbe gilt immer: Sobald eine Funktion intern eine statische Variable benutzt, und diese nicht vor gleichzeitigem Zugriff schützt, ist die Funktion nicht thread-safe. Ebenso bei Copy-on-Write und ähnlichen Optimierungen. Ich denke, dass die meisten Funktionen so programmiert sind, dass es keine Probleme gibt. Und wenn doch, dann wird das erwähnt und die Funktion sollte eh nicht verwendet werden.

Gruss, Andy

nobody0
02-11-2003, 17:27
Also inzwischen habe ich diese nicht reentrant Funktionen im Standard gefunden:
http://wwwold.dkuug.dk/jtc1/sc22/open/n2794/n2794.txt
Seite 184 inkl. Anmerkung 146.