assert(relative->signature == MagickSignature);
if (relative->exceptions == (void *) NULL)
return;
- LockSemaphoreInfo(exception->semaphore);
+ LockSemaphoreInfo(relative->semaphore);
ResetLinkedListIterator((LinkedListInfo *) relative->exceptions);
p=(const ExceptionInfo *) GetNextValueInLinkedList((LinkedListInfo *)
relative->exceptions);
p=(const ExceptionInfo *) GetNextValueInLinkedList((LinkedListInfo *)
relative->exceptions);
}
- UnlockSemaphoreInfo(exception->semaphore);
+ UnlockSemaphoreInfo(relative->semaphore);
}
\f
/*
assert(exception != (ExceptionInfo *) NULL);
assert(exception->signature == MagickSignature);
+ LockSemaphoreInfo(exception->semaphore);
p=(ExceptionInfo *) GetLastValueInLinkedList((LinkedListInfo *)
exception->exceptions);
if ((p != (ExceptionInfo *) NULL) && (p->severity == severity) &&
(LocaleCompare(exception->reason,reason) == 0) &&
(LocaleCompare(exception->description,description) == 0))
- return(MagickTrue);
+ {
+ UnlockSemaphoreInfo(exception->semaphore);
+ return(MagickTrue);
+ }
p=(ExceptionInfo *) AcquireMagickMemory(sizeof(*p));
if (p == (ExceptionInfo *) NULL)
- ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
+ {
+ UnlockSemaphoreInfo(exception->semaphore);
+ ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
+ }
(void) ResetMagickMemory(p,0,sizeof(*p));
p->severity=severity;
if (reason != (const char *) NULL)
exception->severity=p->severity;
exception->reason=p->reason;
exception->description=p->description;
+ UnlockSemaphoreInfo(exception->semaphore);
return(MagickTrue);
}
\f
%
*/
-MagickExport MagickBooleanType ThrowMagickExceptionList(ExceptionInfo *exception,
- const char *module,const char *function,const size_t line,
- const ExceptionType severity,const char *tag,const char *format,
- va_list operands)
+MagickExport MagickBooleanType ThrowMagickExceptionList(
+ ExceptionInfo *exception,const char *module,const char *function,
+ const size_t line,const ExceptionType severity,const char *tag,
+ const char *format,va_list operands)
{
char
message[MaxTextExtent],