rpmmen c. 0.2.0 już jest
Paweł Gajda
mis w k2.net.pl
Pią, 4 Cze 1999, 01:11:49 CEST
On Thu, 3 Jun 1999, Paweł Kołodziej wrote:
> [wtorek, 01 czerwiec 1999], Paweł Gajda napisał(a):
>
> > Pisałem już, że tą pamięcią martwi się db i nie musisz się tym
> > przejmować.
>
> Przypuszczam, że tam jest kilka buforów w które db wpisuje dane i zwraca,
> wskaźnik na ten gdzie wpisał te których potrzbuję. I teraz dylemat. Czy
Tak, jest po prostu cache.
> orzymany bufor sobie kopiować, a jak przestanie być używany to go zwalniać
> (rpmpkgs_entry_free), czy założyć że nie będziemy potrzebowali naraz
> informacji z kilku pakietów, i operować na wskazanym przez db obszarze
> pamięci. To drugie rozwiązanie wydaje mi się potencjalnie niebezpieczne, a
> do pierwszego mam już cały mechanizm zrobiony, więc chyba zdecyduję się na
> pierwsze rozwiązanie. Chyba, że Jarkowi _bardzo_ niebędzie się chciało
> wstawiać w odpowiednich miejscach rpmpkgs_entry_free.
Optuję za kopiowaniem na życznie, tj. jeżeli Jarek będzie potrzebował
info o kilku pakietach na raz, to woła header[entry]_copy(). Myślę, że
kopiowanie będzie raczej wyjątkiem, także po co marnować pamięć?
Funkcja header_entry_free() i tak będzie musiała być wołana, z uwagi
na to, że headerGetEntry() wymaga wołania free() dla niektórych typów
tagów (STRING_ARRAY_TYPE i chyba jeszcze jeden). Trochę to dziwne, że
nie ma funkcji headerFreeEntry() i trzeba to robić ręcznie. No ale cóż
zrobić.
BTW przeszedłeś na rpm-3.x?
Paweł
--
mailto: mis w k2.net.pl
Więcej informacji o liście dyskusyjnej pld-installer