-------- In message <[email protected]>, "Poul-Henning Kamp" writes: >-------- >In message <[email protected]>, Carlos Abalde writ >es: > >>> So one murky bit here is if your OS's dlopen(3) implementation discovers >>> that the file has changed. It sounds like it doesn't, and just reuses >>> the old already loaded copy :-( >>> >>> The surefire way to fix that is to append a version number to the >>> vmod filename, but it's kind of ugly... >> >>Hi, >> >>I've been checking the sources of Varnish and doing some more testing, >>and, as you suggest, this definitely seems related to dlopen(3) / >>dlclose(3) and how they are used when reloading Varnish. > >I have changed the vmod management code in -trunk to stat the compiled >vmod and check the st_dev/st_ino fields against the previously opened >vmods and to use fdlopen(3) to bypass the dlopen(3) name check. > >Hope this helps.
Well, just learned that Linux doesn't have fldopen(3) like FreeBSD does, I'll have to revert this change :-( -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [email protected] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
