summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2014-03-16 19:31:09 -0500
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2014-03-16 19:31:09 -0500
commit0464b436b684777d59de2386aacbb5d420afd840 (patch)
tree67841898848cea769979dc23b180b3ec2538d779 /INSTALL
parent2f5fb84cc41f5eb3270a7179e2b2b1d0d65a13bb (diff)
downloadlibpng-0464b436b684777d59de2386aacbb5d420afd840.tar.gz
[libpng16] Added information about configuring for multiprocessing to INSTALL.
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL14
1 files changed, 14 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
index cddc3eedf..9c3536d9a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -395,6 +395,20 @@ pngusr.h a system builder may also define equivalent options in pngusr.dfa
(or, indeed, any file) and add that to the configuration by setting
DFA_XTRA to the file name. The makefiles in contrib/pngminim illustrate
how to do this, and a case where pngusr.h is still required.
+
+Configuring libpng for multiprocessing
+
+Libpng uses setjmp()/longjmp() for error handling. Unfortunately setjmp()
+is known to be not thread-safe on some platforms and we don't know of
+any platform where it is guaranteed to be thread-safe. Therefore, if
+your application is going to be using multiple threads, you should
+configure libpng with PNG_NO_SETJMP in your pngusr.dfa file, with
+-DPNG_NO_SETJMP on your compile line, or with
+
+ #undef PNG_SETJMP_SUPPORTED
+
+in your pnglibconf.h or pngusr.h.
+
Other sources of information about libpng:
Further information can be found in the README and libpng-manual.txt