1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

scd: Add string for another PC/SC error code.

* scd/apdu.c (PCSC_E_NO_READERS_AVAILABLE): New.
(pcsc_error_string): Add a description for this.
* scd/scdaemon.c (scd_kick_the_loop): Fix diagnostic.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2021-05-04 10:33:30 +02:00
parent 569fa67277
commit a475bb725b
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
2 changed files with 5 additions and 1 deletions

View File

@ -229,6 +229,7 @@ static npth_mutex_t reader_table_lock;
#define PCSC_E_NOT_TRANSACTED 0x80100016 #define PCSC_E_NOT_TRANSACTED 0x80100016
#define PCSC_E_READER_UNAVAILABLE 0x80100017 #define PCSC_E_READER_UNAVAILABLE 0x80100017
#define PCSC_E_NO_SERVICE 0x8010001D #define PCSC_E_NO_SERVICE 0x8010001D
#define PCSC_E_NO_READERS_AVAILABLE 0x8010002E
#define PCSC_E_SERVICE_STOPPED 0x8010001E #define PCSC_E_SERVICE_STOPPED 0x8010001E
#define PCSC_W_RESET_CARD 0x80100068 #define PCSC_W_RESET_CARD 0x80100068
#define PCSC_W_REMOVED_CARD 0x80100069 #define PCSC_W_REMOVED_CARD 0x80100069
@ -604,6 +605,7 @@ pcsc_error_string (long err)
case 0x001c: s = "card unsupported"; break; case 0x001c: s = "card unsupported"; break;
case 0x001d: s = "no service"; break; case 0x001d: s = "no service"; break;
case 0x001e: s = "service stopped"; break; case 0x001e: s = "service stopped"; break;
case 0x002e: s = "no readers available"; break;
default: s = "unknown PC/SC error code"; break; default: s = "unknown PC/SC error code"; break;
} }
return s; return s;

View File

@ -1221,7 +1221,7 @@ scd_kick_the_loop (void)
#else #else
int ret = kill (main_thread_pid, SIGCONT); int ret = kill (main_thread_pid, SIGCONT);
if (ret < 0) if (ret < 0)
log_error ("SetEvent for scd_kick_the_loop failed: %s\n", log_error ("sending signal for scd_kick_the_loop failed: %s\n",
gpg_strerror (gpg_error_from_syserror ())); gpg_strerror (gpg_error_from_syserror ()));
#endif #endif
} }
@ -1277,6 +1277,8 @@ handle_connections (int listen_fd)
events[0] = the_event = INVALID_HANDLE_VALUE; events[0] = the_event = INVALID_HANDLE_VALUE;
events[1] = INVALID_HANDLE_VALUE; events[1] = INVALID_HANDLE_VALUE;
/* Create event for manual reset, initially non-signaled. Make it
* waitable and inheritable. */
h = CreateEvent (&sa, TRUE, FALSE, NULL); h = CreateEvent (&sa, TRUE, FALSE, NULL);
if (!h) if (!h)
log_error ("can't create scd event: %s\n", w32_strerror (-1) ); log_error ("can't create scd event: %s\n", w32_strerror (-1) );