Hi, here's one more issue, in this case more convoluted:

If a library load fails for some reason, any subsequent
load failure will cause a strange error about failing
to copy some temporary files, instead of a normal message.
This happens because a block with a NULL handle is
pushed onto the library list, and the second failed
load goes into the 'same handle found' branch.

This fixes it:

@@ -257,11 +257,14 @@ ecl_library_open(cl_object filename, bool force_reload) {
                         goto DO_LOAD;
                 }
                block = other;
        } else {
                si_set_finalizer(block, Ct);
-               cl_core.libraries = CONS(block, cl_core.libraries);
+               if (block->cblock.handle != NULL)
+                       cl_core.libraries = CONS(block, cl_core.libraries);
+               else
+                       ecl_library_close(block);
        }
        }
        return block;
 }
 
Alexander

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list

Reply via email to