Browse Source

close all connections gracefully when shutting down the server (#682)

pull/707/head
aler9 4 years ago
parent
commit
21e0052bc4
  1. 8
      internal/core/core.go

8
internal/core/core.go

@ -4,6 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
"os" "os"
"os/signal"
"reflect" "reflect"
"github.com/aler9/gortsplib" "github.com/aler9/gortsplib"
@ -129,6 +130,9 @@ func (p *Core) run() {
return make(chan struct{}) return make(chan struct{})
}() }()
interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, os.Interrupt)
outer: outer:
for { for {
select { select {
@ -156,6 +160,10 @@ outer:
break outer break outer
} }
case <-interrupt:
p.Log(logger.Info, "shutting down gracefully")
break outer
case <-p.ctx.Done(): case <-p.ctx.Done():
break outer break outer
} }

Loading…
Cancel
Save