Zurzeit arbeite ich an einer realtime Anwendung auf linux, mit einem
selbstgeschriebenem Logger.
Dabei wird das Programm gestartet, welches den realtime Thread erzeugt
und daneben einen Logging Thread. Insgesamt laufen also 3 Threads, wobei
die beiden nicht-logger in einen Buffer schreiben können, der dann durch
denn Logging Thread ausgetauscht und geleert wird (print auf console,
oder Weiterleitung in Datei/Socket/...)
Dieser Logger wurde von einem Arbeitskollegen geschrieben, der nicht
mehr hier arbeitet. Das Problem ist nun, dass die Logs vom RT-Thread
nicht ausgegeben werden.
Um die Wartbarkeit zu erhöhen, würde ich am liebsten den Logger Code
rausschmeissen und syslog benutzen, welches bereits im Kernel enthalten
ist.
Nun meine Frage, bevor ich all die Teile umschreibe, welche Loggen, kann
das mit der realtime Bedingung funktionieren? Es dürfte nämlich nicht
geschrieben werden, solange mein RT-Thread läuft, sondern erst danach.
Ich habe schon gelesen, dass syslog thread-safe sei, aber reicht dies
aus?