So if I understand well, if a fork(2) come with execve(2) it freed
automatically the resources. However if fork(2) come with any
allocator, I should take care of it ?

On 2024-09-22T17:42:28.000+02:00, Otto Moerbeek <o...@drijf.net>
wrote:

> 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]
>>>>    [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


Reply via email to