diff options
author | Werner Koch <[email protected]> | 2016-11-11 16:30:23 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-11-11 16:30:23 +0000 |
commit | 7b04a43c05834b937b32a596f1941e9728add5fa (patch) | |
tree | 14548d670d86ebaad319cfeaeff5e179bc5fd1ec /dirmngr/dirmngr.c | |
parent | doc: Include config examples for socket-activated user services. (diff) | |
download | gnupg-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.c | 14 |
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 |