fork call __attribute__((destructor))

Yubin Ruan ablacktshirt@gmail.com
Fri Aug 4 17:02:00 GMT 2017


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()?

Thanks,
Yubin



More information about the Binutils mailing list