Changeset View
Changeset View
Standalone View
Standalone View
b/agent/gpg-agent.c
Context not available. | |||||
watched. */ | watched. */ | ||||
static pid_t parent_pid = (pid_t)(-1); | static pid_t parent_pid = (pid_t)(-1); | ||||
/* Record the pid of the main thread, for easier signalling */ | |||||
static pid_t main_thread_pid = (pid_t)(-1); | |||||
/* Number of active connections. */ | /* Number of active connections. */ | ||||
static int active_connections; | static int active_connections; | ||||
Context not available. | |||||
GetCurrentProcess(), &h2, | GetCurrentProcess(), &h2, | ||||
EVENT_MODIFY_STATE|SYNCHRONIZE, TRUE, 0)) | EVENT_MODIFY_STATE|SYNCHRONIZE, TRUE, 0)) | ||||
{ | { | ||||
log_error ("setting syncronize for scd notify event failed: %s\n", | log_error ("setting synchronize for scd notify event failed: %s\n", | ||||
w32_strerror (-1) ); | w32_strerror (-1) ); | ||||
CloseHandle (h); | CloseHandle (h); | ||||
} | } | ||||
Context not available. | |||||
agent_sigusr2_action (); | agent_sigusr2_action (); | ||||
break; | break; | ||||
/* nothing to do here, just take an extra cycle on the select loop */ | |||||
case SIGCONT: | |||||
break; | |||||
case SIGTERM: | case SIGTERM: | ||||
if (!shutdown_pending) | if (!shutdown_pending) | ||||
log_info ("SIGTERM received - shutting down ...\n"); | log_info ("SIGTERM received - shutting down ...\n"); | ||||
Context not available. | |||||
} | } | ||||
void interrupt_main_thread_loop (void) | |||||
{ | |||||
#ifndef HAVE_W32_SYSTEM | |||||
kill (main_thread_pid, SIGCONT); | |||||
#endif | |||||
} | |||||
/* helper function for readability: test whether a given struct | /* helper function for readability: test whether a given struct | ||||
timespec is set to all-zeros */ | timespec is set to all-zeros */ | ||||
static inline int | static inline int | ||||
Context not available. | |||||
npth_sigev_add (SIGUSR1); | npth_sigev_add (SIGUSR1); | ||||
npth_sigev_add (SIGUSR2); | npth_sigev_add (SIGUSR2); | ||||
npth_sigev_add (SIGINT); | npth_sigev_add (SIGINT); | ||||
npth_sigev_add (SIGCONT); | |||||
npth_sigev_add (SIGTERM); | npth_sigev_add (SIGTERM); | ||||
npth_sigev_fini (); | npth_sigev_fini (); | ||||
main_thread_pid = getpid (); | |||||
#else | #else | ||||
# ifdef HAVE_W32CE_SYSTEM | # ifdef HAVE_W32CE_SYSTEM | ||||
/* Use a dummy event. */ | /* Use a dummy event. */ | ||||
Context not available. | |||||
# endif | # endif | ||||
#endif | #endif | ||||
if (disable_check_own_socket) | if (disable_check_own_socket) | ||||
my_inotify_fd = -1; | my_inotify_fd = -1; | ||||
else if ((err = gnupg_inotify_watch_socket (&my_inotify_fd, socket_name))) | else if ((err = gnupg_inotify_watch_socket (&my_inotify_fd, socket_name))) | ||||
Context not available. |