[OSy] Ochrana mallocu

Jakub Jermar jakub at jermar.eu
Sun Dec 30 17:55:45 CET 2007


Josef Reidinger wrote:
> nasledujici: Malloc je chranen synchronizacnim primitivem. Jeden proces
> si zamkne malloc. Kdyz se pokusi jiny proces taky mallocovat, tak se
> uspi. Ale tady je kamen urazu, protoze tento jiny proces musi byt pridan
> do fronty uspanych procesu a k tomu se opet pouziva malloc, takze se
> program dostane do nekonecne smycky (spis ale deathlock, kvuli
> zamknutemu mutexu).

Zkus implementaci fronty uspanych procesu bez pouziti mallocu. Kazdy 
proces preci muze spat jen v jedne fronte, tak mu muzes jakesi pojitko 
do cekaci fronty naalokovat uz pri jeho vytvareni. Vyhnes se tak spouste 
neprijemnosti.

Jakub




More information about the NSWI004 mailing list