On 12.01.2011 22:58, Izak Burger wrote:
Hi all,

I've been studying the embedded C code used by the geoip plugin and noticed how dlopen is used to load this functionality by declaring a load_module procedure. What I cannot seem to figure out is where and how this is called (grep is not my friend tonight), so at present it seems almost like magic (or more likely, a level of indirection I'm missing). Can anyone enlighten me?
__attribute__((constructor)) void
load_module()

First line causes this function to be executed at library load (or before main when used in programs).

Also, is there an unload_module or similar partner procedure that one can define for cleanup purposes?

There also is destructor which is called on library unload (after main). Some more info on gcc attributes: http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html


--
Łukasz Barszcz
web architect
Pion Aplikacji Internetowych
GG Network S.A   http://www.gadu-gadu.pl
ul. Kamionkowska 45   03-812 Warszawa
tel.: +48 22 4277900   fax.: +48 22 5146498   gg:16210

Spółka zarejestrowana w Sądzie Rejonowym dla m. st. Warszawy, XIII
Wydział Gospodarczy KRS pod numerem 0000264575, NIP 867-19-48-977.
Kapitał zakładowy:  1 758 461,10 zł - wpłacony w całości.


_______________________________________________
varnish-dev mailing list
[email protected]
http://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev

Reply via email to