[Pcsclite-cvs-commit] r4512 - in /trunk/PCSC/src: eventhandler.c eventhandler.h

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Tue Oct 27 08:27:09 UTC 2009


Author: rousseau
Date: Tue Oct 27 08:27:00 2009
New Revision: 4512

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4512
Log:
add EHTryToUnregisterClientForEvent()

Modified:
    trunk/PCSC/src/eventhandler.c
    trunk/PCSC/src/eventhandler.h

Modified: trunk/PCSC/src/eventhandler.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/eventhandler.c?rev=4512&op=diff
==============================================================================
--- trunk/PCSC/src/eventhandler.c (original)
+++ trunk/PCSC/src/eventhandler.c Tue Oct 27 08:27:00 2009
@@ -56,7 +56,11 @@
 	return SCARD_S_SUCCESS;
 } /* EHRegisterClientForEvent */
 
-LONG EHUnregisterClientForEvent(int32_t filedes)
+/**
+ * Try to unregisted a client
+ * If no client is found then do no log an error
+ */
+LONG EHTryToUnregisterClientForEvent(int32_t filedes)
 {
 	LONG rv = SCARD_S_SUCCESS;
 	int pos, ret;
@@ -69,10 +73,20 @@
 	SYS_MutexUnLock(ClientsWaitingForEvent_lock);
 	
 	if (ret < 0)
-	{
+		rv = SCARD_F_INTERNAL_ERROR;
+
+	return rv;
+} /* EHUnregisterClientForEvent */
+
+/**
+ * Unregister a client and log an error if the client is not found
+ */
+LONG EHUnregisterClientForEvent(int32_t filedes)
+{
+	LONG rv = EHTryToUnregisterClientForEvent(filedes);
+	
+	if (rv < 0)
 		Log2(PCSC_LOG_ERROR, "Can't remove client: %d", filedes);
-		rv = SCARD_F_INTERNAL_ERROR;
-	}
 
 	return rv;
 } /* EHUnregisterClientForEvent */

Modified: trunk/PCSC/src/eventhandler.h
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/eventhandler.h?rev=4512&op=diff
==============================================================================
--- trunk/PCSC/src/eventhandler.h (original)
+++ trunk/PCSC/src/eventhandler.h Tue Oct 27 08:27:00 2009
@@ -42,6 +42,7 @@
 	}
 	READER_STATE, *PREADER_STATE;
 
+	LONG EHTryToUnregisterClientForEvent(int32_t filedes);
 	LONG EHRegisterClientForEvent(int32_t filedes);
 	LONG EHUnregisterClientForEvent(int32_t filedes); 
 	LONG EHSignalEventToClients(void);




More information about the Pcsclite-cvs-commit mailing list