Re: Memory leaks in 2.01

Halfdan Ingvarsson <[email protected]>
Newsgroups gmane.comp.video.openexr.devel
Message-ID <[email protected]>
The call to uninitialize would be done inside of OpenEXR, and not by any 
calling plugin. Therefore would only be called once IlmImf.so unloads, 
which would only happen when all users are done with it.

Basically, this function should both be internal to OpenEXR and OpenEXR 
alone should be responsible.

This also alleviates a potential race-condition with using a local 
static Mutex in staticInitialize -- which, prior to C++11 is not 
guaranteed to be thread-safe -- since DSO load sequences are guaranteed 
to be single-threaded (although another fix is to move the Mutex to file 
scope).

Hope this clears it up.

  - ½

On 13-11-06 03:25 PM, Peter Hillman wrote:
> Calling Uninitialize automatically seems dangerous. What happens if a 
> package loads two plugins, both of which are dependent on OpenEXR? If 
> only one is unloaded, there's a danger it would unitialize the 
> attributes for the other, causing a segfault when it tries to parse a 
> header. Alternatively, if both are unloaded, the second might try to 
> free memory already freed by the first.
>
> It seems safer only to call this function manually, and only in a 
> build intended for leak analysis, since the memory returned is 
> insignificant.

_______________________________________________
Openexr-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/openexr-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.