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