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

Reply via email to