[so] [Wiki][Indicatii generale teme] Cod dupa apelul exec
Mihail Costea
mihail.costea2005 at gmail.com
Sun Mar 18 16:43:40 EET 2012
Fork si exec nu au nimic in comun. Lui exec nu ii pasa daca ai facut sau nu
fork inainte. El va elibera automat memoria daca nu esueaza. Dar daca
esueaza, memoria din copil/parinte nu mai e eliberata automat. Desigur daca
vine exit se va elibera memoria de catre sistemul de operare. Dar valgrind
il considera memory leak fiindca trebuie sa ai atatea free-uri cate
malloc-uri. Exec asigura acest lucru doar daca reuseste.
Mie imi tipa valgrind la un <string> declarat in c++ cand exec esua sau nu
faceam exec pe copilul din fork().
2012/3/18 Mirea Bogdan-Stefan <b.mirea at yahoo.com>
> Mihail Costea <mihail.costea2005 at ...> writes:
>
> >
> >
> > Valgrind nu e de acord cu tine. E memory leak. Ruleaza acest program
> odata cu
> free comentat si odata decomentat:
> >
> > ---------------
> > #include <stdlib.h>
> > #include <unistd.h>
> >
> > int main(int argc, char *argv[]) {
> > int *a = malloc(sizeof(int));
> > *a = 15;
> >
> > execl("lssd", "sadew", NULL);
> > //free(a);
> > return 1;
> > }
> > ---------------
> >
> >
> > Vei observa memory leaks. Exec esueaza si astfel memoria ocupata de <a>
> nu mai
> este eliberata automat.
> >
> > Mihai
> > 2012/3/18 Mirea Bogdan-Stefan <b.mirea at yahoo.com>
> > Practic, tu ar trebui sa te asiguri ca in zona de cod a procesului copil
> dedinainte de exec sa nu ai Memory Leak-uri.
> > Scuze pt reply
> > Bogdan
> >
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>
>
> Ce ai tu acolo, este memory leak pentru ca tu ai doar proces parinte, care
> va
> face exec. Eu ma refeream la cazul in care faci fork.
> Este normal ca in procesul parinte sa eliberezi memoria. Si este oarecum
> normal
> ca si in procesul copil sa trebuiasca eliberata, dar nu cred ca este
> necesar
> pentru ca tu o sa astepti in parinte terminarea copilului, iar cand
> terminarea
> lui va fi constatata, toata memoria alocata pt el se va elibera.
>
>
> Cred ca ar fi bine sa ne raspunda un asistent.
>
>
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20120318/e656a4c8/attachment.html>
More information about the so
mailing list