From 4967fe0bc52580f7e96974e30d3cf2f33fadaabe Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Fri, 22 Oct 2010 12:01:23 +0200 Subject: Remove all nss requests after a reconnect Currently we do not handle the open nss request after a reconnect and wait until they timeout (which is a couple of minutes!). This patch adds a handler that terminates all requests after a reconnect. Then responder will return matching cache entries or nothing. --- src/responder/nss/nsssrv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/responder/nss/nsssrv.c') diff --git a/src/responder/nss/nsssrv.c b/src/responder/nss/nsssrv.c index 4f5aa6293..dfb0312e8 100644 --- a/src/responder/nss/nsssrv.c +++ b/src/responder/nss/nsssrv.c @@ -39,6 +39,7 @@ #include "dbus/dbus.h" #include "sbus/sssd_dbus.h" #include "responder/common/responder_packet.h" +#include "responder/common/responder.h" #include "providers/data_provider.h" #include "monitor/monitor_interfaces.h" #include "sbus/sbus_client.h" @@ -143,7 +144,10 @@ static void nss_dp_reconnect_init(struct sbus_connection *conn, DATA_PROVIDER_VERSION, "NSS"); /* all fine */ - if (ret == EOK) return; + if (ret == EOK) { + handle_requests_after_reconnect(); + return; + } } /* Failed to reconnect */ -- cgit