Dobry den,<br><br>vzhledem k tomu, ze zde uz padlo reseni (ktere sam pouzivam, protoze jsem se jiz parkrat dostal do podobnych problemu), tak jen spekulace, proc se to chova tak, jak se chova.<br><br>Predpokladam, ze funkce volana po zachyceni systemoveho signalu zajistuje separatni vlakno, nikoliv hlavni vlakno programu (fce cleanup se zavola nezavisle na tom,ve kterem stavu se hlavni vlakno nachazi). Podle dokumentace k sys.exit() tato funkce pouze vyvola vyjimku SystemExit. Zpracovani vyjimek se ale provadi pouze v ramci aktualniho vlakna, takze tato vyjimka &quot;neprobubla&quot; do jinych vlaken (hlavniho) a aplikace se logicky neukonci (pouze se ukonci aktualni vlakno). Predani jakehosi vnitrniho signalu (interni promenna) hlavnimu vlaknu je tedy spravny a korektni postup.<br>
<br>Marek<br><br><div class="gmail_quote">2008/12/17 Lumír Jasiok <span dir="ltr">&lt;<a href="mailto:lumir.jasiok@vsb.cz">lumir.jasiok@vsb.cz</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dobry den,<br>
<br>
potreboval bych poradit s nasledujicim problemem. Mam napsany jednoduchy forkujici TCP/IP server. Server jako takovy funguje, child procesy se vytvareji i ukoncuji korektne, jediny probleme mam s ukoncenim parent procesu v okamziku, kdy z (napriklad shellu) zavolam signal SIGTERM. Mam osetreno zachyceni signalu a funkci, ktera zajisti, ze se pocka na ukonceni vsech child procesu a pak by se mel ukoncit i parent proces pomoci sys.exit(0). To se ale nestane, parent proces (server) se neukonci, ale skoci do nadrazene while smycky a dale ceka na spojeni a je schopen obsluhovat prichozi spojeni. Relevantni kod:<br>

</blockquote></div><br>