I demand that Bob Friesenhahn may or may not have written... > On Sun, 8 Aug 2010, Christopher Martin wrote: >> I suspect that the crash is related to this problem: >> https://www-old.cae.wisc.edu/pipermail/octave-maintainers/2010-January/014891.html >> Thus it may be a xine-lib bug after all, as I don't see any >> InitializeMagick() - or DestroyMagick() for that matter - calls in >> xine-lib's code. I would guess that libxinevdec/image.c would be the >> appropriate place to add them.
The right places are probably these: InitializeMagick() immediately prior to NewMagickWand(); DestroyMagick() in dispose_class(). This assumes that it's safe to call DestroyMagick() without having called InitializeMagick(). If this works, I'll patch and re-upload, reassigning and closing this bug report along the way. (Sven, or anybody else who is able to trigger the problem, could you test?) > The next release of GraphicsMagick will make > InitializeMagick()/DestroyMagick() totally thread safe. In general it is > safe to invoke InitializeMagick() just prior to use (and any number of > times) so that life is easier within a library context. The overhead of > invoking InitializeMagick() is quite low since if the library is already > initialized, the function immediately returns. http://www.imagemagick.org/download/www/api/deprecate.html#InitializeMagick says that InitializeMagick() is deprecated, which is... interesting, in this context. (Being able to use either is somewhat important.) > I am considering using GCC's shared library contructor/destructor semantics > but am not sure how reliable that might be. Well... as far as xine-lib is concerned, if that works with dlopen() & dlclose()... -- | Darren Salt | linux at youmustbejoking | nr. Ashington, | Toon | using Debian GNU/Linux | or ds ,demon,co,uk | Northumberland | back! | + Output less CO2 => avoid massive flooding. TIME IS RUNNING OUT *FAST*. Scotty: "Damage control is easy. Reading Klingon, that's hard." -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

