ten SIGKILL - mozne reseni
Divacky Roman
xdivac02 at stud.fit.vutbr.cz
Mon Sep 15 13:07:31 CEST 2003
On Mon, Sep 15, 2003 at 12:18:21PM +0200, Dan Lukes wrote:
> Divacky Roman wrote:
>
> >Tak jsem se na to tsleep()ovani poradne podival a prisel jsem na
> >nasledujici:
> >
> >endtsleep nam v podstate nepomuze pac ony "kriticke" tsleepy se odehravaji
> >v
> >necem jako je:
> >while(libovolna_podminka)
> > tslep(neco);
> >takze i kdy prerusime ten tsleep tak nam nabehne znova takze veskera snaha
> >v
> >tomto smeru je marna...
>
> To je, IMHO, chybna uvaha. Program, kteremu byl zaslan SIGKILL by
> mel byt k jeho obsluze preruseni povolan IHNED jak bude prerusitelny a
> vysledkem teto obsluhy bude okamzite ukonceni procesu. Tedy, process
> konci IHNED jak skonci neprerusitelny tsleep bez ohledu na to, v jakem
> kontextu je ten tsleep pouzit.
ja jsem pochopil obsluhu tech signalu tak ze se signal doruci pri
vstupu/vystupu z kernel-space... ale muzu se mylit
> Diky tomu se obavam, ze navrzene reseni neresi zadny realne
> existujici problem - bud' je s prerusenim neprerusitelneho tsleepu nemozne
> kvuli vecem volanym v ramci "zabijeciho" cleanupem procesu - a tento
> problem pretrvava i v nove navrzenem reseni. Nebo tento problem ve
> skutecnosti neexistuje a pak lze tsleep v pripade SIGKILL bezpecne prerusit
> i u "stareho" tsleepu, tak, jak byl uplne puvodni navrh.
no, pokud se ten process killne "okamzite" pak to doopravdy neresi nic
> >pripominky ocenim (ani ne tak kritiku, jako navrhy na zlepseni :-) )
>
>
> Nevim, jestli se mi podarilo tuhle podminku splnit ... ;-)
>
;)
> Dan
>
>
> --
> FreeBSD mailing list (users-l at freebsd.cz)
> http://www.freebsd.cz/listserv/listinfo/users-l
More information about the Users-l
mailing list