9 #define MAGICKCORE_IMPLEMENTATION 1 10 #define MAGICK_PLUSPLUS_IMPLEMENTATION 1 19 #if defined(MAGICKCORE_HAVE_PTHREAD) 29 if ((sysError=::pthread_mutexattr_init(&attr)) == 0)
30 if ((sysError=::pthread_mutex_init(&_mutex,&attr)) == 0)
32 ::pthread_mutexattr_destroy(&attr);
39 #if defined(_VISUALC_) && defined(_MT) 46 security.nLength=
sizeof(security);
47 security.lpSecurityDescriptor=(LPVOID) NULL;
48 security.bInheritHandle=TRUE;
51 _mutex=::CreateSemaphore(&security,1,1,(LPCSTR) NULL);
52 if (_mutex != (HANDLE) NULL)
55 "mutex initialization failed");
67 #if defined(MAGICKCORE_HAVE_PTHREAD) 68 (void) ::pthread_mutex_destroy(&_mutex);
70 #if defined(_MT) && defined(_VISUALC_) 71 (void) ::CloseHandle(_mutex);
78 #if defined(MAGICKCORE_HAVE_PTHREAD) 82 if ((sysError=::pthread_mutex_lock(&_mutex)) == 0)
87 #if defined(_MT) && defined(_VISUALC_) 88 if (WaitForSingleObject(_mutex,INFINITE) != WAIT_FAILED)
97 #if defined(MAGICKCORE_HAVE_PTHREAD) 101 if ((sysError=::pthread_mutex_unlock(&_mutex)) == 0)
106 #if defined(_MT) && defined(_VISUALC_) 107 if (ReleaseSemaphore(_mutex,1,(LPLONG) NULL) == TRUE)
MagickPPExport void throwExceptionExplicit(const MagickCore::ExceptionType severity_, const char *reason_, const char *description_=(char *) NULL)