[Ecls-list] ffi broken in windows

Dustin Long dlong at stevens.edu
Wed Dec 26 17:16:02 UTC 2007


Juanjo,

I see. What is the overall goal with being allowed to load a FASL file 
more than once? If it is to support environments like SLIME, then this 
solution works, as newly made FASLs have newer modification times (I 
have been testing it in SLIME for a long time now). If the goal is just 
to allow user to load the same FASL without anything changing, this 
solution is at least usable since it returns the same entry that was 
already loaded. Is there some other case where we want a user to be able 
to reload a FASL and get some other result?

If there is something I'm missing, perhaps another solution would be to 
check file extensions, and never reload a file with the dll extension.

Dustin

Juan Jose Garcia-Ripoll wrote:
> Hi Dustin,
>
> we have to somehow find another solution, as your patch prevents users
> from loading the same FASL file twice, which should be allowed.
>
> Juanjo
>
> On Dec 26, 2007 3:02 AM, Dustin Long <dlong at stevens.edu> wrote:
>   
>> There is a problem with how ffi currently loads libraries in windows. Each call to def-function loads a new instance of a dll, which breaks any libraries that rely on shared state. The fix is to only copy and reload libraries if they've changed since they were last loaded. A patch is attached, and here is a link to a simple example demonstrating the problem:
>> http://personal.stevens.edu/~dlong/load-time-test-case.zip
>>
>> Dustin
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2005.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> Ecls-list mailing list
>> Ecls-list at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ecls-list
>>
>>
>>     
>
>
>
>   





More information about the ecl-devel mailing list