+int
+libmagick_init(struct image_io *io UNUSED)
+{
+ pthread_mutex_lock(&libmagick_mutex);
+ if (!libmagick_counter++)
+ InitializeMagick(NULL);
+ pthread_mutex_unlock(&libmagick_mutex);
+ return 1;
+}
+
+void
+libmagick_cleanup(struct image_io *io UNUSED)
+{
+ pthread_mutex_lock(&libmagick_mutex);
+ if (!--libmagick_counter)
+ DestroyMagick();
+ pthread_mutex_unlock(&libmagick_mutex);
+}
+
+static void