[Pcsclite-cvs-commit] r2190 - trunk/PCSC/src

Ludovic Rousseau rousseau at costa.debian.org
Mon Oct 23 14:42:24 UTC 2006


Author: rousseau
Date: 2006-10-23 14:42:24 +0000 (Mon, 23 Oct 2006)
New Revision: 2190

Modified:
   trunk/PCSC/src/pcscdaemon.c
   trunk/PCSC/src/winscard_msg_srv.c
Log:
SHMProcessEventsServer(): returns -2 in case of syscall interrupted
(EINTR) and -1 for other errors.

SVCServiceRunLoop(): do not log an error message in case of -2 since it
happens when SIGUSR1 (reload) or SIGINT (Ctrl-C) is received. We just
try again


Modified: trunk/PCSC/src/pcscdaemon.c
===================================================================
--- trunk/PCSC/src/pcscdaemon.c	2006-10-23 14:36:36 UTC (rev 2189)
+++ trunk/PCSC/src/pcscdaemon.c	2006-10-23 14:42:24 UTC (rev 2190)
@@ -143,7 +143,6 @@
 
 	while (TRUE)
 	{
-
 		switch (rsp = SHMProcessEventsServer(&dwClientID, 0))
 		{
 
@@ -160,11 +159,15 @@
 			break;
 
 		case -1:
-			/* do not display if we are exiting or re-reading the config */
-			if ((!AraKiri) && (!ReCheckSerialReaders))
-				Log1(PCSC_LOG_ERROR, "Error in SHMProcessEventsServer");
+			Log1(PCSC_LOG_ERROR, "Error in SHMProcessEventsServer");
 			break;
 
+		case -2:
+			/* Nothing to do in case of a syscall interrupted
+			 * It happens when SIGUSR1 (reload) or SIGINT (Ctrl-C) is received
+			 * We just try again */
+			break;
+
 		default:
 			Log2(PCSC_LOG_ERROR, "SHMProcessEventsServer unknown retval: %d",
 				rsp);

Modified: trunk/PCSC/src/winscard_msg_srv.c
===================================================================
--- trunk/PCSC/src/winscard_msg_srv.c	2006-10-23 14:36:36 UTC (rev 2189)
+++ trunk/PCSC/src/winscard_msg_srv.c	2006-10-23 14:42:24 UTC (rev 2190)
@@ -182,9 +182,11 @@
 
 	if (selret < 0)
 	{
-		if ((!AraKiri) && (!ReCheckSerialReaders))
-			Log2(PCSC_LOG_CRITICAL, "Select returns with failure: %s",
-				strerror(errno));
+		if (EINTR == errno)
+			return -2;
+
+		Log2(PCSC_LOG_CRITICAL, "Select returns with failure: %s",
+			strerror(errno));
 		return -1;
 	}
 




More information about the Pcsclite-cvs-commit mailing list