Portál AbcLinuxu, 8. května 2025 02:46
Dobrý den,
v programu napsaném v C použímám pro logování událostí (i debug) funkci syslog().
Aplikace má vícero vláken aproto v logovací funkci před zavolaním syslog() zamknu mutex.
Občas se stane, že se aplikace sekne, vypátral jsem, že jedno vlákno zamkne mutex před voláním syslog() poté se z této funkce již nevrátí -> ostatní vlakna zustanou stat na mutexu-> aplikace zamrzne.
Chtěl bych se zeptat čím to může být způsobeno? - pokud jsem provedl test pouze s jedním vlaknem tak vše bylo OK (jen na funkci syslog() se to obcas na cca 0.5-1s zastavilo).
Typl bych že je to tím, že syslog ukládá zprávy do souboru (soubor mam v tmpfs) - ten je tedy v ramce takže by to mělo být rychlé, nicméně by se dané vlákno mělo po určité době z fce syslog() vrátit ......
Používám syslog-ng 2.0.5
V konfiguraci nemam temer nic (options { long_hostnames(off); sync(0);};)
Jede to na procesoru arm, systém angstorm
Děkuji za každou radu
Honza
Na otázku zatím nikdo bohužel neodpověděl.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.