[Pcsclite-cvs-commit] r4432 - in /trunk/PCSC/src: winscard_svc.c winscard_svc.h
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Tue Oct 6 09:08:59 UTC 2009
Author: rousseau
Date: Tue Oct 6 09:08:59 2009
New Revision: 4432
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4432
Log:
add MSGSignalClient()
Modified:
trunk/PCSC/src/winscard_svc.c
trunk/PCSC/src/winscard_svc.h
Modified: trunk/PCSC/src/winscard_svc.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_svc.c?rev=4432&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_svc.c (original)
+++ trunk/PCSC/src/winscard_svc.c Tue Oct 6 09:08:59 2009
@@ -114,6 +114,14 @@
* A list of local functions used to keep track of clients and their
* connections
*/
+
+#define READ_BODY(v) \
+ if (header.size != sizeof(v)) {printf("%d %d\n", header.size, sizeof(v)); goto wrong_length;} \
+ ret = SHMMessageReceive(&v, sizeof(v), filedes, PCSCLITE_READ_TIMEOUT); \
+ if (-1 == ret) { Log2(PCSC_LOG_DEBUG, "Client die: %d", filedes); goto exit; }
+
+#define WRITE_BODY(v) \
+ ret = SHMMessageSend(&v, sizeof(v), filedes, PCSCLITE_WRITE_TIMEOUT);
/**
* @brief Handles messages received from Clients.
@@ -677,6 +685,19 @@
return 0;
}
+
+LONG MSGSignalClient(uint32_t filedes, LONG rv)
+{
+ uint32_t ret;
+ struct wait_reader_state_change waStr;
+
+ Log2(PCSC_LOG_DEBUG, "Signal client: %d", filedes);
+
+ waStr.rv = rv;
+ WRITE_BODY(waStr)
+
+ return ret;
+} /* MSGSignalClient */
static LONG MSGAddContext(SCARDCONTEXT hContext, DWORD dwContextIndex)
{
Modified: trunk/PCSC/src/winscard_svc.h
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_svc.h?rev=4432&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_svc.h (original)
+++ trunk/PCSC/src/winscard_svc.h Tue Oct 6 09:08:59 2009
@@ -23,6 +23,7 @@
#endif
LONG ContextsInitialize(void);
LONG CreateContextThread(uint32_t *);
+ LONG MSGSignalClient(uint32_t filedes, LONG rv);
#ifdef __cplusplus
}
#endif
More information about the Pcsclite-cvs-commit
mailing list