[Pcsclite-cvs-commit] r2962 - /trunk/PCSC/src/thread_unix.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Fri May 16 09:32:20 UTC 2008
Author: rousseau
Date: Fri May 16 09:32:19 2008
New Revision: 2962
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=2962
Log:
SYS_Mutex*(): check that the mMutex parameter is non NULL to avoid a
crash
related to [#300849] problems in multithreading environment
(segmentation faults, SCardCancel does not work)
Modified:
trunk/PCSC/src/thread_unix.c
Modified: trunk/PCSC/src/thread_unix.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/thread_unix.c?rev=2962&op=diff
==============================================================================
--- trunk/PCSC/src/thread_unix.c (original)
+++ trunk/PCSC/src/thread_unix.c Fri May 16 09:32:19 2008
@@ -22,27 +22,42 @@
INTERNAL int SYS_MutexInit(PCSCLITE_MUTEX_T mMutex)
{
- return pthread_mutex_init(mMutex, NULL);
+ if (mMutex)
+ return pthread_mutex_init(mMutex, NULL);
+ else
+ return -1;
}
INTERNAL int SYS_MutexDestroy(PCSCLITE_MUTEX_T mMutex)
{
- return pthread_mutex_destroy(mMutex);
+ if (mMutex)
+ return pthread_mutex_destroy(mMutex);
+ else
+ return -1;
}
INTERNAL int SYS_MutexLock(PCSCLITE_MUTEX_T mMutex)
{
- return pthread_mutex_lock(mMutex);
+ if (mMutex)
+ return pthread_mutex_lock(mMutex);
+ else
+ return -1;
}
INTERNAL int SYS_MutexTryLock(PCSCLITE_MUTEX_T mMutex)
{
- return pthread_mutex_trylock(mMutex);
+ if (mMutex)
+ return pthread_mutex_trylock(mMutex);
+ else
+ return -1;
}
INTERNAL int SYS_MutexUnLock(PCSCLITE_MUTEX_T mMutex)
{
- return pthread_mutex_unlock(mMutex);
+ if (mMutex)
+ return pthread_mutex_unlock(mMutex);
+ else
+ return -1;
}
INTERNAL int SYS_ThreadCreate(PCSCLITE_THREAD_T * pthThread, int attributes,
More information about the Pcsclite-cvs-commit
mailing list