From ea7668d99a251b5df2ad12f54661bcbbdb982275 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 22 Sep 2021 12:54:19 +0200 Subject: [PATCH] HA#Close(): allow custom context refs #350 --- cmd/icingadb/main.go | 2 +- pkg/icingadb/ha.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/icingadb/main.go b/cmd/icingadb/main.go index daf7461b..75d4f448 100644 --- a/cmd/icingadb/main.go +++ b/cmd/icingadb/main.go @@ -69,7 +69,7 @@ func run() int { ha := icingadb.NewHA(ctx, db, heartbeat, logger) // Closing ha on exit ensures that this instance retracts its heartbeat // from the database so that another instance can take over immediately. - defer ha.Close() + defer ha.Close(context.Background()) s := icingadb.NewSync(db, rc, logger) hs := history.NewSync(db, rc, logger) rt := icingadb.NewRuntimeUpdates(db, rc, logger) diff --git a/pkg/icingadb/ha.go b/pkg/icingadb/ha.go index bb1f8711..44cd87b5 100644 --- a/pkg/icingadb/ha.go +++ b/pkg/icingadb/ha.go @@ -61,14 +61,14 @@ func NewHA(ctx context.Context, db *DB, heartbeat *icingaredis.Heartbeat, logger return ha } -// Close implements the io.Closer interface. -func (h *HA) Close() error { +// Close shuts h down. +func (h *HA) Close(ctx context.Context) error { // Cancel ctx. h.cancelCtx() // Wait until the controller loop ended. <-h.Done() // Remove our instance from the database. - h.removeInstance(context.Background()) + h.removeInstance(ctx) // And return an error, if any. return h.Err() }