summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_syncache.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/tcp_syncache.c')
-rw-r--r--sys/netinet/tcp_syncache.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index b898c49..1cf27e1 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -281,6 +281,12 @@ syncache_destroy(void)
struct syncache *sc, *nsc;
int i;
+ /*
+ * Stop the re-seed timer before freeing resources. No need to
+ * possibly schedule it another time.
+ */
+ callout_drain(&V_tcp_syncache.secret.reseed);
+
/* Cleanup hash buckets: stop timers, free entries, destroy locks. */
for (i = 0; i < V_tcp_syncache.hashsize; i++) {
@@ -304,8 +310,6 @@ syncache_destroy(void)
/* Free the allocated global resources. */
uma_zdestroy(V_tcp_syncache.zone);
free(V_tcp_syncache.hashbase, M_SYNCACHE);
-
- callout_drain(&V_tcp_syncache.secret.reseed);
}
#endif
OpenPOWER on IntegriCloud