[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