Projekt syslog-asynchroniczny jest non-blocking syslog () wymiana.
To nie jest powszechnie wiadomo, że średnia Unix syslog () rutynowe biblioteka może zablokować czeka na demona syslog, ale generalnie jest to prawdą. W niektórych systemach wykorzystujących gniazdo datagramu do / dev / log uniknąć niekończących się czeka, ale na Linuksie, nawet to nie działa. Spróbuj wpisać
killall -STOP syslogd
w terminalu głównym na niekrytycznej oknie: Ostatecznie, wszystko się zatrzyma.
Ta biblioteka zawiera wersję syslog (), które nigdy nie blokuje: kod został napisany przez dnsmasq, aby rozwiązać impas między syslod i dnsmasq gdzie syslogd używa dnsmasq DNS i dnsmasq używa syslogd do logowania. To powinno być na ogół przydatne dla każdego demona, gdzie jest bardziej ważne, że demon nadal funkcjonować, niż to, że nadal zalogować.
Kod został przetestowany na systemie Linux 2.6, OpenBSD 4.0 i FreeBSD 6.0. Został on uruchomiony z syslogd i syslog-ng. Należy zauważyć, że nie ma obecnie, threadsafe.
Nagłówek pliku, syslog_async.h jest szeroko komentowane, a szczegóły, jak korzystać z biblioteki. To jest, o ile to możliwe, API zgodne z syslog'u POSIX standard.
Co nowego w tym wydaniu:
Szczegóły programowe:
Komentarze nie znaleziono