On Sun, Sep 22, 2024 at 05:33:36PM +0200, bi...@iscarioth.org wrote: > Sorry for disturbing you, again... > > Does it means we should also free virtual memory from the child > process before exiting ?
All resources used by a process are freed automatically when the process ends. Typically, a fork in the child is followed by an execve(2) call, which replaces the current process by a new one, whith only a few things inherited. -Otto > > On 2024-09-22T10:27:56.000+02:00, Otto Moerbeek <o...@drijf.net> > wrote: > > > On Sun, Sep 22, 2024 at 10:08:56AM +0200, bi...@iscarioth.org wrote: > > > >> Hello OpenBSD team > >> > >> I'm having a little trouble understanding how this works. > >> > >> of fork(2), according to man. It's an exact copy of the parent > >> > >> process. > >> > >> There are limitations that are explicit in the man. However, > >> > >> I wanted to know if the pointers we use are the same. > >> > >> For example, if I had allocated 4 bytes in my parent process, I > >> would > >> > >> launch the fork... > >> > >> If I release this address from the child, is the father's pointer > >> > >> still intact, or is it released? > >> > >> Translated with DeepL.com [http://DeepL.com] (free version) > > > > It's an exact copy, all memory allocations remain the same. The > > trick > > > > is the new process virtual memory space is seperate, so the equal > > > > pointer actually refer to different sets of memory (each process has > > > > it's onwn virual memory space). So an allocatoon or free done by the > > > > parent or child does not interfere with the other process. > > > > -Otto >