summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_cred_cache.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-12-30 09:17:20 +0100
committerStefan Metzmacher <metze@samba.org>2009-01-05 15:07:33 +0100
commit94c4376b497445435edc3e02292b1326a05d1d1e (patch)
tree54ddeb609fa987dbf2ecf627c2c0e027c85c940b /source3/winbindd/winbindd_cred_cache.c
parentf81f21c09b7792915b68cca410e6ec3eb7ee2e0a (diff)
downloadsamba-94c4376b497445435edc3e02292b1326a05d1d1e.tar.gz
samba-94c4376b497445435edc3e02292b1326a05d1d1e.tar.bz2
samba-94c4376b497445435edc3e02292b1326a05d1d1e.zip
s3:winbindd: cancel all ccache entry events and not just one
cancel_named_event() is stupid by design and also only cancels one single event. metze
Diffstat (limited to 'source3/winbindd/winbindd_cred_cache.c')
-rw-r--r--source3/winbindd/winbindd_cred_cache.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_cred_cache.c b/source3/winbindd/winbindd_cred_cache.c
index e9e9e4dd12..fcb3d033a6 100644
--- a/source3/winbindd/winbindd_cred_cache.c
+++ b/source3/winbindd/winbindd_cred_cache.c
@@ -75,6 +75,20 @@ static int ccache_entry_count(void)
return i;
}
+void ccache_remove_all_after_fork(void)
+{
+ struct WINBINDD_CCACHE_ENTRY *cur, *next;
+
+ for (cur = ccache_list; cur; cur = next) {
+ next = cur->next;
+ DLIST_REMOVE(ccache_list, cur);
+ TALLOC_FREE(cur->event);
+ TALLOC_FREE(cur);
+ }
+
+ return;
+}
+
/****************************************************************
Do the work of refreshing the ticket.
****************************************************************/