aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dirmngr.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-11-11 16:30:23 +0000
committerWerner Koch <[email protected]>2016-11-11 16:30:23 +0000
commit7b04a43c05834b937b32a596f1941e9728add5fa (patch)
tree14548d670d86ebaad319cfeaeff5e179bc5fd1ec /dirmngr/dirmngr.c
parentdoc: Include config examples for socket-activated user services. (diff)
downloadgnupg-7b04a43c05834b937b32a596f1941e9728add5fa.tar.gz
gnupg-7b04a43c05834b937b32a596f1941e9728add5fa.zip
dirmngr: Prepare to trigger jobs by network activity.
* dirmngr/http.c (netactivity_cb): New. (http_register_netactivity_cb): New. (notify_netactivity): New. (connect_server): Call that function. * dirmngr/dirmngr.c (main): Call http_register_netactivity_cb. (netactivity_action): New stub handler. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r--dirmngr/dirmngr.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 14189fea6..254c54341 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -328,6 +328,7 @@ static void cleanup (void);
static ldap_server_t parse_ldapserver_file (const char* filename);
#endif /*USE_LDAP*/
static fingerprint_list_t parse_ocsp_signer (const char *string);
+static void netactivity_action (void);
static void handle_connections (assuan_fd_t listen_fd);
/* NPth wrapper function definitions. */
@@ -995,6 +996,7 @@ main (int argc, char **argv)
#if USE_LDAP
ldap_wrapper_launch_thread ();
#endif /*USE_LDAP*/
+ http_register_netactivity_cb (netactivity_action);
start_command_handler (ASSUAN_INVALID_FD);
shutdown_reaper ();
}
@@ -1032,6 +1034,7 @@ main (int argc, char **argv)
#if USE_LDAP
ldap_wrapper_launch_thread ();
#endif /*USE_LDAP*/
+ http_register_netactivity_cb (netactivity_action);
handle_connections (3);
assuan_sock_close (3);
shutdown_reaper ();
@@ -1232,6 +1235,7 @@ main (int argc, char **argv)
#if USE_LDAP
ldap_wrapper_launch_thread ();
#endif /*USE_LDAP*/
+ http_register_netactivity_cb (netactivity_action);
handle_connections (fd);
assuan_sock_close (fd);
shutdown_reaper ();
@@ -1702,6 +1706,16 @@ dirmngr_sighup_action (void)
}
+/* This function is called if some network activity was done. At this
+ * point we know the we have a network and we can decide whether to
+ * run scheduled background tasks soon. The function should return
+ * quickly and only trigger actions for another thread. */
+static void
+netactivity_action (void)
+{
+ log_debug ("network activity seen\n");
+}
+
/* The signal handler. */
#ifndef HAVE_W32_SYSTEM