|
|
@ -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 |
|
|
|
} |
|
|
|
} |
|
|
|