mirror of
https://github.com/bluenviron/mediamtx
synced 2025-01-23 23:42:59 +00:00
fix pprof closing
This commit is contained in:
parent
0b589b3e7e
commit
106b628e6c
50
main.go
50
main.go
@ -248,25 +248,6 @@ func newProgram(args []string, stdin io.Reader) (*program, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.metrics != nil {
|
|
||||||
go p.metrics.run()
|
|
||||||
}
|
|
||||||
|
|
||||||
if p.pprof != nil {
|
|
||||||
go p.pprof.run()
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, ok := conf.protocolsParsed[gortsplib.StreamProtocolUdp]; ok {
|
|
||||||
go p.serverRtp.run()
|
|
||||||
go p.serverRtcp.run()
|
|
||||||
}
|
|
||||||
|
|
||||||
go p.serverRtsp.run()
|
|
||||||
|
|
||||||
for _, p := range p.paths {
|
|
||||||
p.onInit()
|
|
||||||
}
|
|
||||||
|
|
||||||
go p.run()
|
go p.run()
|
||||||
|
|
||||||
return p, nil
|
return p, nil
|
||||||
@ -285,6 +266,28 @@ func (p *program) log(format string, args ...interface{}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *program) run() {
|
func (p *program) run() {
|
||||||
|
if p.metrics != nil {
|
||||||
|
go p.metrics.run()
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.pprof != nil {
|
||||||
|
go p.pprof.run()
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.serverRtp != nil {
|
||||||
|
go p.serverRtp.run()
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.serverRtcp != nil {
|
||||||
|
go p.serverRtcp.run()
|
||||||
|
}
|
||||||
|
|
||||||
|
go p.serverRtsp.run()
|
||||||
|
|
||||||
|
for _, p := range p.paths {
|
||||||
|
p.onInit()
|
||||||
|
}
|
||||||
|
|
||||||
checkPathsTicker := time.NewTicker(5 * time.Second)
|
checkPathsTicker := time.NewTicker(5 * time.Second)
|
||||||
defer checkPathsTicker.Stop()
|
defer checkPathsTicker.Stop()
|
||||||
|
|
||||||
@ -520,8 +523,11 @@ outer:
|
|||||||
|
|
||||||
p.serverRtsp.close()
|
p.serverRtsp.close()
|
||||||
|
|
||||||
if _, ok := p.conf.protocolsParsed[gortsplib.StreamProtocolUdp]; ok {
|
if p.serverRtcp != nil {
|
||||||
p.serverRtcp.close()
|
p.serverRtcp.close()
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.serverRtp != nil {
|
||||||
p.serverRtp.close()
|
p.serverRtp.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -534,6 +540,10 @@ outer:
|
|||||||
p.metrics.close()
|
p.metrics.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if p.pprof != nil {
|
||||||
|
p.pprof.close()
|
||||||
|
}
|
||||||
|
|
||||||
if p.logFile != nil {
|
if p.logFile != nil {
|
||||||
p.logFile.Close()
|
p.logFile.Close()
|
||||||
}
|
}
|
||||||
|
5
pprof.go
5
pprof.go
@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
_ "net/http/pprof"
|
_ "net/http/pprof"
|
||||||
@ -39,3 +40,7 @@ func (pp *pprof) run() {
|
|||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (pp *pprof) close() {
|
||||||
|
pp.server.Shutdown(context.Background())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user