Closed SirYaro closed 10 years ago
takich wpisów jest sporo: ChangePortState(heater_port,grzanie); ChangePortState(cooling_port,chlodzenie);
termination_handler ma bardzo istotną funkcję. Wywoływany jest za każdym razem (albo powinien być) gdy daemon dostaje sygnał kill. Właściwie to nie wykonuje się tylko przy segfault. Taki zapis jak jest obecnie gwarantuje że w przypadku zakończenia pracy daemona, grzałka zostanie wyłączona.
Z tego co rozumiem w aquapi.c ten kawałek kodu nie bedzie robił nic bo pierwszy parametr nie pasuje do zadnego warunku. Jako ze obsługuje to grzałke to chyba trzeba poprawic. ALbo skasowac jesli przeniosłeś gdzies indziej.
void termination_handler(int signum) { // przy wychodzeniu wyłącz grzałkę ChangePortState(heater_port,0); if( signum ) { syslog(LOG_ERR, "Daemon exited abnormally."); Log("Praca daemona została przerwana",E_CRIT); } else { syslog(LOG_INFO, "Daemon exited."); Log("Daemon zakończył pracę",E_WARN); } exit(signum); }