setjmp/longjmp is claimed to be safe on these platforms:
setjmp/longjmp is alleged to be unsafe on these platforms:
*/
-#ifndef SETJMP_IS_THREAD_SAFE
-#define PNG_SETJMP_NOT_THREAD_SAFE
-#endif
+#ifdef PNG_SETJMP_SUPPORTED
+# ifndef IMPNG_SETJMP_IS_THREAD_SAFE
+# define IMPNG_SETJMP_NOT_THREAD_SAFE
+# endif
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+# ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
static SemaphoreInfo
*ping_semaphore = (SemaphoreInfo *) NULL;
+# endif
#endif
/*
*/
png_destroy_read_struct(&ping,&ping_info,&end_info);
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
UnlockSemaphoreInfo(ping_semaphore);
#endif
* that libpng is able to clean up, and that the semaphore is unlocked.
*/
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
LockSemaphoreInfo(ping_semaphore);
#endif
mng_info->scenes_found-1);
png_destroy_read_struct(&ping,&ping_info,&end_info);
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
UnlockSemaphoreInfo(ping_semaphore);
#endif
pixel_info=RelinquishVirtualMemory(pixel_info);
image->colors=2;
(void) SetImageBackgroundColor(image,exception);
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
UnlockSemaphoreInfo(ping_semaphore);
#endif
if (logging != MagickFalse)
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" exit ReadOnePNGImage()");
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
UnlockSemaphoreInfo(ping_semaphore);
#endif
entry->note=ConstantString(JNGNote);
(void) RegisterMagickInfo(entry);
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
ping_semaphore=AcquireSemaphoreInfo();
#endif
(void) UnregisterMagickInfo("PNG00");
(void) UnregisterMagickInfo("JNG");
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
if (ping_semaphore != (SemaphoreInfo *) NULL)
RelinquishSemaphoreInfo(&ping_semaphore);
#endif
(void) printf("PNG write has failed.\n");
#endif
png_destroy_write_struct(&ping,&ping_info);
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
UnlockSemaphoreInfo(ping_semaphore);
#endif
* that libpng is able to clean up, and that the semaphore is unlocked.
*/
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
LockSemaphoreInfo(ping_semaphore);
#endif
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" exit WriteOnePNGImage()");
-#ifdef PNG_SETJMP_NOT_THREAD_SAFE
+#ifdef IMPNG_SETJMP_NOT_THREAD_SAFE
UnlockSemaphoreInfo(ping_semaphore);
#endif