diff --git a/MagickCore/annotate.c b/MagickCore/annotate.c
index d945cca..0a985f2 100644
--- a/MagickCore/annotate.c
+++ b/MagickCore/annotate.c
@@ -170,7 +170,7 @@
MagickPrivate void AnnotateComponentTerminus(void)
{
if (annotate_semaphore == (SemaphoreInfo *) NULL)
- annotate_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&annotate_semaphore);
RelinquishSemaphoreInfo(&annotate_semaphore);
}
@@ -1904,7 +1904,7 @@
status;
if (annotate_semaphore == (SemaphoreInfo *) NULL)
- annotate_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&annotate_semaphore);
LockSemaphoreInfo(annotate_semaphore);
status=XRenderImage(image,draw_info,offset,metrics,exception);
UnlockSemaphoreInfo(annotate_semaphore);
diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index 290f054..4e0a0c6 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -349,7 +349,7 @@
MagickPrivate void CacheComponentTerminus(void)
{
if (cache_semaphore == (SemaphoreInfo *) NULL)
- cache_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&cache_semaphore);
LockSemaphoreInfo(cache_semaphore);
instantiate_cache=MagickFalse;
UnlockSemaphoreInfo(cache_semaphore);
diff --git a/MagickCore/coder.c b/MagickCore/coder.c
index 2095db0..1ca26c3 100644
--- a/MagickCore/coder.c
+++ b/MagickCore/coder.c
@@ -290,7 +290,7 @@
MagickPrivate void CoderComponentTerminus(void)
{
if (coder_semaphore == (SemaphoreInfo *) NULL)
- coder_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&coder_semaphore);
LockSemaphoreInfo(coder_semaphore);
if (coder_list != (SplayTreeInfo *) NULL)
coder_list=DestroySplayTree(coder_list);
@@ -542,7 +542,7 @@
(instantiate_coder == MagickFalse))
{
if (coder_semaphore == (SemaphoreInfo *) NULL)
- coder_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&coder_semaphore);
LockSemaphoreInfo(coder_semaphore);
if ((coder_list == (SplayTreeInfo *) NULL) &&
(instantiate_coder == MagickFalse))
diff --git a/MagickCore/color.c b/MagickCore/color.c
index 08fbed7..359b629 100644
--- a/MagickCore/color.c
+++ b/MagickCore/color.c
@@ -863,7 +863,7 @@
MagickPrivate void ColorComponentTerminus(void)
{
if (color_semaphore == (SemaphoreInfo *) NULL)
- color_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&color_semaphore);
LockSemaphoreInfo(color_semaphore);
if (color_list != (LinkedListInfo *) NULL)
color_list=DestroyLinkedList(color_list,DestroyColorElement);
@@ -1519,7 +1519,7 @@
IfMagickFalse(instantiate_color))
{
if (color_semaphore == (SemaphoreInfo *) NULL)
- color_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&color_semaphore);
LockSemaphoreInfo(color_semaphore);
if ((color_list == (LinkedListInfo *) NULL) &&
IfMagickFalse(instantiate_color))
diff --git a/MagickCore/configure.c b/MagickCore/configure.c
index 028ea79..43ed316 100644
--- a/MagickCore/configure.c
+++ b/MagickCore/configure.c
@@ -187,7 +187,7 @@
MagickPrivate void ConfigureComponentTerminus(void)
{
if (configure_semaphore == (SemaphoreInfo *) NULL)
- configure_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&configure_semaphore);
LockSemaphoreInfo(configure_semaphore);
if (configure_list != (LinkedListInfo *) NULL)
configure_list=DestroyLinkedList(configure_list,DestroyConfigureElement);
@@ -906,7 +906,7 @@
(instantiate_configure == MagickFalse))
{
if (configure_semaphore == (SemaphoreInfo *) NULL)
- configure_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&configure_semaphore);
LockSemaphoreInfo(configure_semaphore);
if ((configure_list == (LinkedListInfo *) NULL) &&
(instantiate_configure == MagickFalse))
diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c
index 28a2315..ca46534 100644
--- a/MagickCore/constitute.c
+++ b/MagickCore/constitute.c
@@ -128,7 +128,7 @@
MagickPrivate void ConstituteComponentTerminus(void)
{
if (constitute_semaphore == (SemaphoreInfo *) NULL)
- constitute_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&constitute_semaphore);
RelinquishSemaphoreInfo(&constitute_semaphore);
}
@@ -528,7 +528,7 @@
}
image=NewImageList();
if (constitute_semaphore == (SemaphoreInfo *) NULL)
- constitute_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&constitute_semaphore);
if ((magick_info == (const MagickInfo *) NULL) ||
(GetImageDecoder(magick_info) == (DecodeImageHandler *) NULL))
{
@@ -1142,7 +1142,7 @@
}
}
if (constitute_semaphore == (SemaphoreInfo *) NULL)
- constitute_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&constitute_semaphore);
if ((magick_info != (const MagickInfo *) NULL) &&
(GetImageEncoder(magick_info) != (EncodeImageHandler *) NULL))
{
diff --git a/MagickCore/delegate.c b/MagickCore/delegate.c
index a7d7a63..2ae07e8 100644
--- a/MagickCore/delegate.c
+++ b/MagickCore/delegate.c
@@ -207,7 +207,7 @@
MagickPrivate void DelegateComponentTerminus(void)
{
if (delegate_semaphore == (SemaphoreInfo *) NULL)
- delegate_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&delegate_semaphore);
LockSemaphoreInfo(delegate_semaphore);
if (delegate_list != (LinkedListInfo *) NULL)
delegate_list=DestroyLinkedList(delegate_list,DestroyDelegate);
@@ -713,7 +713,7 @@
IfMagickFalse(instantiate_delegate))
{
if (delegate_semaphore == (SemaphoreInfo *) NULL)
- delegate_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&delegate_semaphore);
LockSemaphoreInfo(delegate_semaphore);
if ((delegate_list == (LinkedListInfo *) NULL) &&
IfMagickFalse(instantiate_delegate))
diff --git a/MagickCore/exception.c b/MagickCore/exception.c
index f08afba..3929ba6 100644
--- a/MagickCore/exception.c
+++ b/MagickCore/exception.c
@@ -414,7 +414,7 @@
assert(exception != (ExceptionInfo *) NULL);
assert(exception->signature == MagickSignature);
if (exception->semaphore == (SemaphoreInfo *) NULL)
- exception->semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&exception->semaphore);
LockSemaphoreInfo(exception->semaphore);
exception->severity=UndefinedException;
if (exception->exceptions != (void *) NULL)
diff --git a/MagickCore/locale.c b/MagickCore/locale.c
index 7033e1c..a5bf7d5 100644
--- a/MagickCore/locale.c
+++ b/MagickCore/locale.c
@@ -817,7 +817,7 @@
(instantiate_locale == MagickFalse))
{
if (locale_semaphore == (SemaphoreInfo *) NULL)
- locale_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&locale_semaphore);
LockSemaphoreInfo(locale_semaphore);
if ((locale_list == (SplayTreeInfo *) NULL) &&
(instantiate_locale == MagickFalse))
@@ -1417,7 +1417,7 @@
MagickPrivate void LocaleComponentTerminus(void)
{
if (locale_semaphore == (SemaphoreInfo *) NULL)
- locale_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&locale_semaphore);
LockSemaphoreInfo(locale_semaphore);
if (locale_list != (SplayTreeInfo *) NULL)
locale_list=DestroySplayTree(locale_list);
diff --git a/MagickCore/log.c b/MagickCore/log.c
index 60186eb..b000607 100644
--- a/MagickCore/log.c
+++ b/MagickCore/log.c
@@ -537,7 +537,7 @@
if ((log_list == (LinkedListInfo *) NULL) && (instantiate_log == MagickFalse))
{
if (log_semaphore == (SemaphoreInfo *) NULL)
- log_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&log_semaphore);
LockSemaphoreInfo(log_semaphore);
if ((log_list == (LinkedListInfo *) NULL) &&
(instantiate_log == MagickFalse))
@@ -759,7 +759,7 @@
MagickPrivate void LogComponentTerminus(void)
{
if (log_semaphore == (SemaphoreInfo *) NULL)
- log_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&log_semaphore);
LockSemaphoreInfo(log_semaphore);
if (log_list != (LinkedListInfo *) NULL)
log_list=DestroyLinkedList(log_list,DestroyLogElement);
diff --git a/MagickCore/magic.c b/MagickCore/magic.c
index 0ec0b37..f44684a 100644
--- a/MagickCore/magic.c
+++ b/MagickCore/magic.c
@@ -533,7 +533,7 @@
(instantiate_magic == MagickFalse))
{
if (magic_semaphore == (SemaphoreInfo *) NULL)
- magic_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&magic_semaphore);
LockSemaphoreInfo(magic_semaphore);
if ((magic_list == (LinkedListInfo *) NULL) &&
(instantiate_magic == MagickFalse))
@@ -1071,7 +1071,7 @@
MagickPrivate void MagicComponentTerminus(void)
{
if (magic_semaphore == (SemaphoreInfo *) NULL)
- magic_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&magic_semaphore);
LockSemaphoreInfo(magic_semaphore);
if (magic_list != (LinkedListInfo *) NULL)
magic_list=DestroyLinkedList(magic_list,DestroyMagicElement);
diff --git a/MagickCore/magick.c b/MagickCore/magick.c
index 5dba4c6..d2f0ef4 100644
--- a/MagickCore/magick.c
+++ b/MagickCore/magick.c
@@ -844,7 +844,7 @@
(instantiate_magick == MagickFalse))
{
if (magick_semaphore == (SemaphoreInfo *) NULL)
- magick_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&magick_semaphore);
LockSemaphoreInfo(magick_semaphore);
if ((magick_list == (SplayTreeInfo *) NULL) &&
(instantiate_magick == MagickFalse))
@@ -1100,7 +1100,7 @@
MagickPrivate void MagickComponentTerminus(void)
{
if (magick_semaphore == (SemaphoreInfo *) NULL)
- magick_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&magick_semaphore);
LockSemaphoreInfo(magick_semaphore);
if (magick_list != (SplayTreeInfo *) NULL)
magick_list=DestroySplayTree(magick_list);
diff --git a/MagickCore/memory.c b/MagickCore/memory.c
index 119f5f6..1edb4ad 100644
--- a/MagickCore/memory.c
+++ b/MagickCore/memory.c
@@ -463,7 +463,7 @@
memory=memory_methods.acquire_memory_handler(size == 0 ? 1UL : size);
#else
if (memory_semaphore == (SemaphoreInfo *) NULL)
- memory_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&memory_semaphore);
if (free_segments == (DataSegmentInfo *) NULL)
{
LockSemaphoreInfo(memory_semaphore);
@@ -724,7 +724,7 @@
i;
if (memory_semaphore == (SemaphoreInfo *) NULL)
- memory_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&memory_semaphore);
LockSemaphoreInfo(memory_semaphore);
UnlockSemaphoreInfo(memory_semaphore);
for (i=0; i < (ssize_t) memory_pool.number_segments; i++)
diff --git a/MagickCore/mime.c b/MagickCore/mime.c
index fed83d9..f7dcb23 100644
--- a/MagickCore/mime.c
+++ b/MagickCore/mime.c
@@ -608,7 +608,7 @@
(instantiate_mime == MagickFalse))
{
if (mime_semaphore == (SemaphoreInfo *) NULL)
- mime_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&mime_semaphore);
LockSemaphoreInfo(mime_semaphore);
if ((mime_list == (LinkedListInfo *) NULL) &&
(instantiate_mime == MagickFalse))
@@ -1102,7 +1102,7 @@
MagickPrivate void MimeComponentTerminus(void)
{
if (mime_semaphore == (SemaphoreInfo *) NULL)
- mime_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&mime_semaphore);
LockSemaphoreInfo(mime_semaphore);
if (mime_list != (LinkedListInfo *) NULL)
mime_list=DestroyLinkedList(mime_list,DestroyMimeElement);
diff --git a/MagickCore/module.c b/MagickCore/module.c
index 9a18212..8d5c61f 100644
--- a/MagickCore/module.c
+++ b/MagickCore/module.c
@@ -869,7 +869,7 @@
(instantiate_module == MagickFalse))
{
if (module_semaphore == (SemaphoreInfo *) NULL)
- module_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&module_semaphore);
LockSemaphoreInfo(module_semaphore);
if ((module_list == (SplayTreeInfo *) NULL) &&
(instantiate_module == MagickFalse))
@@ -1192,7 +1192,7 @@
MagickPrivate void ModuleComponentTerminus(void)
{
if (module_semaphore == (SemaphoreInfo *) NULL)
- module_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&module_semaphore);
DestroyModuleList();
RelinquishSemaphoreInfo(&module_semaphore);
}
diff --git a/MagickCore/opencl.c b/MagickCore/opencl.c
index c9614d0..31a05c3 100644
--- a/MagickCore/opencl.c
+++ b/MagickCore/opencl.c
@@ -126,7 +126,7 @@
if (clEnv != NULL)
{
memset(clEnv, 0, sizeof(struct _MagickCLEnv));
- clEnv->lock=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&clEnv->lock);
}
return clEnv;
}
@@ -203,7 +203,7 @@
{
if (defaultCLEnvLock == NULL)
{
- defaultCLEnvLock=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&defaultCLEnvLock);
}
LockSemaphoreInfo(defaultCLEnvLock);
defaultCLEnv = AcquireMagickOpenCLEnv();
@@ -215,7 +215,7 @@
static void LockDefaultOpenCLEnv() {
if (defaultCLEnvLock == NULL)
{
- defaultCLEnvLock=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&defaultCLEnvLock);
}
LockSemaphoreInfo(defaultCLEnvLock);
}
@@ -223,7 +223,7 @@
static void UnlockDefaultOpenCLEnv() {
if (defaultCLEnvLock == NULL)
{
- defaultCLEnvLock=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&defaultCLEnvLock);
}
else
UnlockSemaphoreInfo(defaultCLEnvLock);
@@ -2543,7 +2543,7 @@
if (openclCachedFilesDirectory == NULL) {
if (openclCachedFilesDirectoryLock == NULL)
{
- openclCachedFilesDirectoryLock=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&openclCachedFilesDirectoryLock);
}
LockSemaphoreInfo(openclCachedFilesDirectoryLock);
if (openclCachedFilesDirectory == NULL) {
diff --git a/MagickCore/policy.c b/MagickCore/policy.c
index e301977..19d09c4 100644
--- a/MagickCore/policy.c
+++ b/MagickCore/policy.c
@@ -429,7 +429,7 @@
(instantiate_policy == MagickFalse))
{
if (policy_semaphore == (SemaphoreInfo *) NULL)
- policy_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&policy_semaphore);
LockSemaphoreInfo(policy_semaphore);
if ((policy_list == (LinkedListInfo *) NULL) &&
(instantiate_policy == MagickFalse))
@@ -1016,7 +1016,7 @@
MagickPrivate void PolicyComponentTerminus(void)
{
if (policy_semaphore == (SemaphoreInfo *) NULL)
- policy_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&policy_semaphore);
LockSemaphoreInfo(policy_semaphore);
if (policy_list != (LinkedListInfo *) NULL)
policy_list=DestroyLinkedList(policy_list,DestroyPolicyElement);
diff --git a/MagickCore/random.c b/MagickCore/random.c
index b999072..e5eb921 100644
--- a/MagickCore/random.c
+++ b/MagickCore/random.c
@@ -762,7 +762,7 @@
MagickPrivate void RandomComponentTerminus(void)
{
if (random_semaphore == (SemaphoreInfo *) NULL)
- random_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&random_semaphore);
RelinquishSemaphoreInfo(&random_semaphore);
}
diff --git a/MagickCore/registry.c b/MagickCore/registry.c
index f0592b7..d5343c5 100644
--- a/MagickCore/registry.c
+++ b/MagickCore/registry.c
@@ -325,7 +325,7 @@
MagickPrivate void RegistryComponentTerminus(void)
{
if (registry_semaphore == (SemaphoreInfo *) NULL)
- registry_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(®istry_semaphore);
LockSemaphoreInfo(registry_semaphore);
if (IsEventLogging() != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"...");
@@ -528,7 +528,7 @@
(instantiate_registry == MagickFalse))
{
if (registry_semaphore == (SemaphoreInfo *) NULL)
- registry_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(®istry_semaphore);
LockSemaphoreInfo(registry_semaphore);
if ((registry == (SplayTreeInfo *) NULL) &&
(instantiate_registry == MagickFalse))
diff --git a/MagickCore/resource.c b/MagickCore/resource.c
index 9f99b64..f6da52a 100644
--- a/MagickCore/resource.c
+++ b/MagickCore/resource.c
@@ -167,7 +167,7 @@
status=MagickFalse;
(void) FormatMagickSize(size,MagickFalse,resource_request);
if (resource_semaphore == (SemaphoreInfo *) NULL)
- resource_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&resource_semaphore);
LockSemaphoreInfo(resource_semaphore);
switch (type)
{
@@ -501,7 +501,7 @@
if (file == -1)
return(file);
if (resource_semaphore == (SemaphoreInfo *) NULL)
- resource_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&resource_semaphore);
LockSemaphoreInfo(resource_semaphore);
if (temporary_resources == (SplayTreeInfo *) NULL)
temporary_resources=NewSplayTree(CompareSplayTreeString,
@@ -619,7 +619,7 @@
resource=0;
if (resource_semaphore == (SemaphoreInfo *) NULL)
- resource_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&resource_semaphore);
LockSemaphoreInfo(resource_semaphore);
switch (type)
{
@@ -708,7 +708,7 @@
if (file == (const FILE *) NULL)
file=stdout;
if (resource_semaphore == (SemaphoreInfo *) NULL)
- resource_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&resource_semaphore);
LockSemaphoreInfo(resource_semaphore);
(void) FormatMagickSize(resource_info.area_limit,MagickFalse,area_limit);
(void) FormatMagickSize(resource_info.memory_limit,MagickTrue,memory_limit);
@@ -770,7 +770,7 @@
(void) FormatMagickSize(size,MagickFalse,resource_request);
if (resource_semaphore == (SemaphoreInfo *) NULL)
- resource_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&resource_semaphore);
LockSemaphoreInfo(resource_semaphore);
switch (type)
{
diff --git a/MagickCore/semaphore.c b/MagickCore/semaphore.c
index 033a0ac..e8b4bab 100644
--- a/MagickCore/semaphore.c
+++ b/MagickCore/semaphore.c
@@ -236,6 +236,41 @@
% %
% %
% %
+% A c t i v a t e S e m a p h o r e I n f o %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% ActivateSemaphoreInfo() acquires a semaphore.
+%
+% The format of the ActivateSemaphoreInfo method is:
+%
+% void ActivateSemaphoreInfo(SemaphoreInfo **semaphore_info)
+%
+% A description of each parameter follows:
+%
+% o semaphore_info: Specifies a pointer to an SemaphoreInfo structure.
+%
+*/
+MagickExport void ActivateSemaphoreInfo(SemaphoreInfo **semaphore_info)
+{
+ assert(semaphore_info != (SemaphoreInfo **) NULL);
+ if (*semaphore_info == (SemaphoreInfo *) NULL)
+ {
+ InitializeMagickMutex();
+ LockMagickMutex();
+ if (*semaphore_info == (SemaphoreInfo *) NULL)
+ *semaphore_info=AllocateSemaphoreInfo();
+ UnlockMagickMutex();
+ }
+}
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
% L o c k S e m a p h o r e I n f o %
% %
% %
diff --git a/MagickCore/semaphore.h b/MagickCore/semaphore.h
index 80e5ee0..dcb047f 100644
--- a/MagickCore/semaphore.h
+++ b/MagickCore/semaphore.h
@@ -29,6 +29,7 @@
*AcquireSemaphoreInfo(void);
extern MagickExport void
+ ActivateSemaphoreInfo(SemaphoreInfo **),
LockSemaphoreInfo(SemaphoreInfo *),
RelinquishSemaphoreInfo(SemaphoreInfo **),
UnlockSemaphoreInfo(SemaphoreInfo *);
diff --git a/MagickCore/type.c b/MagickCore/type.c
index 6d48791..22bf854 100644
--- a/MagickCore/type.c
+++ b/MagickCore/type.c
@@ -786,7 +786,7 @@
(instantiate_type == MagickFalse))
{
if (type_semaphore == (SemaphoreInfo *) NULL)
- type_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&type_semaphore);
LockSemaphoreInfo(type_semaphore);
if ((type_list == (SplayTreeInfo *) NULL) &&
(instantiate_type == MagickFalse))
@@ -1390,7 +1390,7 @@
MagickPrivate void TypeComponentTerminus(void)
{
if (type_semaphore == (SemaphoreInfo *) NULL)
- type_semaphore=AcquireSemaphoreInfo();
+ ActivateSemaphoreInfo(&type_semaphore);
LockSemaphoreInfo(type_semaphore);
if (type_list != (SplayTreeInfo *) NULL)
type_list=DestroySplayTree(type_list);