[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
Anders Melchiorsen <sslug@sslug> writes: > > Da, i et andet multithreaded program, benytter jeg både > > gethostbyname, og strerror, og mpatrol rapportere at disse kald > > leaker hukkomelse, og der er et mindre memory leak i programmet. > > Begge disse funktioner returnerer pegere til buffere, de selv > håndterer. Du skal således ikke frigive noget, men til gengæld er > pegerne kun gyldige indtil du kalder funktionen næste gang. > > Det er da muligt, at der kommer et lille leak første gang de bruges; > det har jeg ikke undersøgt. I givet fald vil det ikke akkumulere ved > gentagen brug, og er således næppe noget problem. > > Et problem er det dog at bruge globale variable (som disse pointere > reelt er) i flertrådede programmer. Du skal derfor nok finde nye > versioner, hvor der ikke bruges globale variable. De hedder vist nok > gethostbyname_r() og strerror_r() men jeg kan faktisk ikke finde "man" > sider om dem på mit eget system lige nu :-(. Beskrivelese af hvordan man bruger reentrante funktioner (dem med '_r') findes i glic dokumentationen. $ info libc -- Christian Hemmingsen P.L.U.R. "Druk for fred!" "My freedom of speech implies your freedom to be offended." --Unknown
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |