Imager::Threads - Imager and threads
use Imager; use threads; Imager->preload; threads->create(...);
Starting from version 0.94 Imager attempts to work safely with perl's
Previous versions stored some state in global variables, in particular the internal error stack.
However there are some limitations:
libtiff, which Imager uses for TIFF file support is not thread safe,
Imager::File::TIFFworks around this by single-threading its access to
giflib, which Imager uses for GIF support is not thread safe before version 5.
Imager::File::GIFworks around this by single threading its access to
T1Lib, used by one of Imager's font drivers, is not thread safe.
Imager::Font::T1works around this by single threading access.
Imager::Font::T1may deadlock other threads when they attempt to read or write TIFF or GIF files, or work with Type 1 fonts.
Note that if you have another module using
t1lib it may interact with Imager's use of those libraries in a threaded environment, since there's no way to co-ordinate access to the global information
Imager currently doesn't use threads itself, except for testing its threads support.
Tony Cook <email@example.com>