From 21e0052bc459d5296b083943a85213e0ef00de63 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Wed, 10 Nov 2021 19:04:07 +0100 Subject: [PATCH] close all connections gracefully when shutting down the server (#682) --- internal/core/core.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/core/core.go b/internal/core/core.go index 5eedc629..9629c8e2 100644 --- a/internal/core/core.go +++ b/internal/core/core.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "os/signal" "reflect" "github.com/aler9/gortsplib" @@ -129,6 +130,9 @@ func (p *Core) run() { return make(chan struct{}) }() + interrupt := make(chan os.Signal, 1) + signal.Notify(interrupt, os.Interrupt) + outer: for { select { @@ -156,6 +160,10 @@ outer: break outer } + case <-interrupt: + p.Log(logger.Info, "shutting down gracefully") + break outer + case <-p.ctx.Done(): break outer }