# HG changeset patch
# User Christophe de Vienne <christophe@cdevienne.info>
# Date 1736253221 -3600
#      Tue Jan 07 13:33:41 2025 +0100
# Node ID 40617257fb17d9e8aa7c37ac488ebde9afaecc41
# Parent  f97d71bec55db08d63b0fcd36c3b7f768faa3c91
MailSender: bail out if context is done

diff --git a/lib/mailsender.go b/lib/mailsender.go
--- a/lib/mailsender.go
+++ b/lib/mailsender.go
@@ -105,6 +105,12 @@
 	log := zerolog.Ctx(ctx)
 
 	for {
+		if ctx.Err() != nil {
+			log.Debug().Msg("mailsender: context done, stopping")
+
+			return
+		}
+
 		if err := s.handle(ctx, db); err != nil {
 			if errors.Is(err, sql.ErrNoRows) {
 				log.Debug().Msg("no mail in the queue")