mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
scd: Remove --debug-disable-ticker option.
* scd/scdaemon.c (ticker_disabled): Remove. (handle_tick, need_tick): Remove. (handle_connections): Don't check ticker_disabled. -- Now, removal of device/card is only done by the function scd_update_reader_status_file, it should be called if needed. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
f08d37af04
commit
e17fa5c75d
3
NEWS
3
NEWS
@ -1,6 +1,9 @@
|
|||||||
Noteworthy changes in version 2.1.19 (unreleased)
|
Noteworthy changes in version 2.1.19 (unreleased)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
|
* scd: Removed option --debug-disable-ticker. Ticker is used
|
||||||
|
only when it is required to watch removal of device/card.
|
||||||
|
|
||||||
|
|
||||||
Noteworthy changes in version 2.1.18 (2017-01-23)
|
Noteworthy changes in version 2.1.18 (2017-01-23)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
@ -99,7 +99,6 @@ enum cmd_and_opt_values
|
|||||||
oDenyAdmin,
|
oDenyAdmin,
|
||||||
oDisableApplication,
|
oDisableApplication,
|
||||||
oEnablePinpadVarlen,
|
oEnablePinpadVarlen,
|
||||||
oDebugDisableTicker
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -126,7 +125,6 @@ static ARGPARSE_OPTS opts[] = {
|
|||||||
ARGPARSE_s_i (oDebugWait, "debug-wait", "@"),
|
ARGPARSE_s_i (oDebugWait, "debug-wait", "@"),
|
||||||
ARGPARSE_s_n (oDebugAllowCoreDump, "debug-allow-core-dump", "@"),
|
ARGPARSE_s_n (oDebugAllowCoreDump, "debug-allow-core-dump", "@"),
|
||||||
ARGPARSE_s_n (oDebugCCIDDriver, "debug-ccid-driver", "@"),
|
ARGPARSE_s_n (oDebugCCIDDriver, "debug-ccid-driver", "@"),
|
||||||
ARGPARSE_s_n (oDebugDisableTicker, "debug-disable-ticker", "@"),
|
|
||||||
ARGPARSE_s_n (oDebugLogTid, "debug-log-tid", "@"),
|
ARGPARSE_s_n (oDebugLogTid, "debug-log-tid", "@"),
|
||||||
ARGPARSE_p_u (oDebugAssuanLogCats, "debug-assuan-log-cats", "@"),
|
ARGPARSE_p_u (oDebugAssuanLogCats, "debug-assuan-log-cats", "@"),
|
||||||
ARGPARSE_s_n (oNoDetach, "no-detach", N_("do not detach from the console")),
|
ARGPARSE_s_n (oNoDetach, "no-detach", N_("do not detach from the console")),
|
||||||
@ -190,8 +188,13 @@ static struct debug_flags_s debug_flags [] =
|
|||||||
#define DEFAULT_PCSC_DRIVER "libpcsclite.so"
|
#define DEFAULT_PCSC_DRIVER "libpcsclite.so"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* The timer tick used for housekeeping stuff. We poll every 500ms to
|
/* The timer tick used to check card removal.
|
||||||
let the user immediately know a status change.
|
|
||||||
|
We poll every 500ms to let the user immediately know a status
|
||||||
|
change.
|
||||||
|
|
||||||
|
For a card reader with an interrupt endpoint, this timer is not
|
||||||
|
used with the internal CCID driver.
|
||||||
|
|
||||||
This is not too good for power saving but given that there is no
|
This is not too good for power saving but given that there is no
|
||||||
easy way to block on card status changes it is the best we can do.
|
easy way to block on card status changes it is the best we can do.
|
||||||
@ -221,13 +224,6 @@ static char *redir_socket_name;
|
|||||||
POSIX systems). */
|
POSIX systems). */
|
||||||
static assuan_sock_nonce_t socket_nonce;
|
static assuan_sock_nonce_t socket_nonce;
|
||||||
|
|
||||||
/* Debug flag to disable the ticker. The ticker is in fact not
|
|
||||||
disabled but it won't perform any ticker specific actions. */
|
|
||||||
static int ticker_disabled;
|
|
||||||
|
|
||||||
/* Set if usb devices require periodical check. */
|
|
||||||
static int usb_periodical_check;
|
|
||||||
|
|
||||||
/* FD to notify update of usb devices. */
|
/* FD to notify update of usb devices. */
|
||||||
static int notify_fd;
|
static int notify_fd;
|
||||||
|
|
||||||
@ -546,7 +542,6 @@ main (int argc, char **argv )
|
|||||||
ccid_set_debug_level (ccid_set_debug_level (-1)+1);
|
ccid_set_debug_level (ccid_set_debug_level (-1)+1);
|
||||||
#endif /*HAVE_LIBUSB*/
|
#endif /*HAVE_LIBUSB*/
|
||||||
break;
|
break;
|
||||||
case oDebugDisableTicker: ticker_disabled = 1; break;
|
|
||||||
case oDebugLogTid:
|
case oDebugLogTid:
|
||||||
log_set_pid_suffix_cb (tid_log_callback);
|
log_set_pid_suffix_cb (tid_log_callback);
|
||||||
break;
|
break;
|
||||||
@ -1031,14 +1026,6 @@ handle_signal (int signo)
|
|||||||
#endif /*!HAVE_W32_SYSTEM*/
|
#endif /*!HAVE_W32_SYSTEM*/
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
handle_tick (void)
|
|
||||||
{
|
|
||||||
if (!ticker_disabled)
|
|
||||||
usb_periodical_check = scd_update_reader_status_file ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Create a name for the socket. We check for valid characters as
|
/* Create a name for the socket. We check for valid characters as
|
||||||
well as against a maximum allowed length for a unix domain socket
|
well as against a maximum allowed length for a unix domain socket
|
||||||
is done. The function terminates the process in case of an error.
|
is done. The function terminates the process in case of an error.
|
||||||
@ -1193,18 +1180,6 @@ scd_kick_the_loop (void)
|
|||||||
write (notify_fd, "", 1);
|
write (notify_fd, "", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
|
||||||
need_tick (void)
|
|
||||||
{
|
|
||||||
if (shutdown_pending)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
if (!usb_periodical_check)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Connection handler loop. Wait for connection requests and spawn a
|
/* Connection handler loop. Wait for connection requests and spawn a
|
||||||
thread after accepting a connection. LISTEN_FD is allowed to be -1
|
thread after accepting a connection. LISTEN_FD is allowed to be -1
|
||||||
in which case this code will only do regular timeouts and handle
|
in which case this code will only do regular timeouts and handle
|
||||||
@ -1268,6 +1243,8 @@ handle_connections (int listen_fd)
|
|||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
|
int periodical_check;
|
||||||
|
|
||||||
if (shutdown_pending)
|
if (shutdown_pending)
|
||||||
{
|
{
|
||||||
if (active_connections == 0)
|
if (active_connections == 0)
|
||||||
@ -1283,12 +1260,12 @@ handle_connections (int listen_fd)
|
|||||||
listen_fd = -1;
|
listen_fd = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
handle_tick ();
|
periodical_check = scd_update_reader_status_file ();
|
||||||
|
|
||||||
timeout.tv_sec = TIMERTICK_INTERVAL_SEC;
|
timeout.tv_sec = TIMERTICK_INTERVAL_SEC;
|
||||||
timeout.tv_nsec = TIMERTICK_INTERVAL_USEC * 1000;
|
timeout.tv_nsec = TIMERTICK_INTERVAL_USEC * 1000;
|
||||||
|
|
||||||
if (need_tick ())
|
if (shutdown_pending || periodical_check)
|
||||||
t = &timeout;
|
t = &timeout;
|
||||||
else
|
else
|
||||||
t = NULL;
|
t = NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user