1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-07-05 03:09:21 +02:00

npth_sigwait is not available.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2020-03-16 13:55:40 +09:00
parent 20a5cc93b5
commit beb14b8026

View File

@ -2158,7 +2158,7 @@ cmd_list_device (assuan_context_t ctx, char *line)
int watch = 0;
if (has_option (line, "--watch"))
watch = 0;
watch = 1;
if ((err = open_card (ctrl)))
return err;
@ -2168,14 +2168,14 @@ cmd_list_device (assuan_context_t ctx, char *line)
ctrl->server_local->watching_status = 1;
while (1)
{
sigset_t sigmask;
int sig;
/* FIXME: sigwait OK?, what about Windows? */
sigemptyset (&sigmask);
sigaddset (&sigmask, SIGCONT);
npth_sigwait (&sigmask, &sig);
/**/
npth_unprotect ();
sigwait (npth_sigev_sigmask (), &sig);
npth_protect ();
assuan_write_status (ctx, "signal", "");
if (ctrl->server_local->card_removed)
{
ctrl->server_local->watching_status = 0;
@ -2733,6 +2733,10 @@ send_client_notifications (card_t card, int removal)
struct server_local_s *sl;
for (sl=session_list; sl; sl = sl->next_session)
{
if (sl->watching_status)
assuan_write_status (sl->assuan_ctx, "FIXME: change", "something");
if (sl->ctrl_backlink && sl->ctrl_backlink->card_ctx == card)
{
pid_t pid;
@ -2750,9 +2754,6 @@ send_client_notifications (card_t card, int removal)
card_unref_locked (card);
}
if (sl->watching_status)
assuan_write_status (sl->assuan_ctx, "FIXME: change", "something");
if (!sl->event_signal || !sl->assuan_ctx)
continue;
@ -2809,3 +2810,4 @@ send_client_notifications (card_t card, int removal)
#endif /*!HAVE_W32_SYSTEM*/
}
}
}