2009-07-22 15 views
11

Ludzie, nie mogę znaleźć nowej wersji syslog() dla Linuksa ... czy jest tam jeden? A jeśli nie, co ty? Oczywistą odpowiedzią jest przeniesienie modułu logowania do osobnego wątku i serializowanie dostępu do syslog ...syslog_r dla systemu Linux?

+0

Czy ochrona wywołania syslog za pomocą semafora/mutex jest mniej oczywista? Ludzie będą mogli lepiej Ci pomóc, jeśli potrafisz opracować, co chcesz zrobić, i dlaczego proponowane przez ciebie rozwiązanie jest niedopuszczalne. –

Odpowiedz

17

Zgodnie z POSIX specification, funkcja syslog jest już wątkowo bezpieczna, a więc zaimplementowana w systemie Linux. Tak więc syslog_r jest zbędny - użyj syslog, jeśli potrzebujesz funkcji rejestratora powtórnego.

+5

BSD definiują wywołanie syslog_r z zupełnie innego powodu; poszczególne wątki mogą chcieć logować się z różnymi opcjami syslog, co nie jest możliwe w inny sposób. –

+0

Po prawej - ta funkcja nie jest dostępna w systemie Linux. –

+0

[ta strona] (http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.basetechref%2Fdoc%2Fbasetrf2%2Fsyslog.htm) mówi, że jest nie wątek bezpieczny –

Powiązane problemy