This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fork call __attribute__((destructor))


On 08/04/2017 01:01 PM, Yubin Ruan wrote:
> Hi,
> I used to assumed that a function marked with a
> "__attribute__((destructor))" would be called after the .so is
> unloaded, typically when the program exit. However, I discover that
> when I call "fork()" the destructor is also called.
> 
> How could that happen? Is it a bug or something? Am I doing something
> wrong? What is the rationale behind that?
> 
> And, is there any way to prevent the destructor being called when
> somebody call fork()?

Please provide an example program that does this.

Also note that the running of the destructor is part of the dynamic
loader's responsibility, not the static linker (binutils).

I suggest asking on libc-help@sourceware.org.

-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]