Logging (Threadsicher)
-
Hallo, ich habe gerade ein kleines Problem mit meiner Logging-Funktion. Die Funktion wird von überall im Programm gerufen. Soweit keine Problem. Nur kommt es manchmal zu einem Absturz wenn verschiedene Threads nahezu "zeitgleich" die Funktion rufen.
void logd( const char *pFormat, ... ) { va_list args; FILE *pFp = fopen( "log.txt", "a+b" ); ... vfprintf( pFp, pFormat, args ); ... fclose( pFp ); ... };Kann mir jemand sagen wie ich dieses Problem lösen kann.
Danke schonmal.
-
Mit ner Critical Section.
Aber öffne doch nicht jedes mal die Datei neu...
-
Und wenn sich das ständig Öffnen nicht verhindern lässt, kannst du das Aufrufen deiner Loggin-Fkt. mit nem Mutex verriegeln.
