mirror of
https://github.com/mumble-voip/grumble.git
synced 2025-12-19 21:59:59 -08:00
Handle freeze requests for stopped servers
This commit is contained in:
parent
c6eeabde62
commit
705b43bcd5
1 changed files with 11 additions and 0 deletions
11
server.go
11
server.go
|
|
@ -986,6 +986,17 @@ func (server *Server) userEnterChannel(client *Client, channel *Channel, usersta
|
|||
// Create a point-in-time snapshot of Server and make it
|
||||
// accessible through the returned io.ReadCloser.
|
||||
func (s *Server) FreezeServer() io.ReadCloser {
|
||||
if !s.running {
|
||||
fs, err := s.Freeze()
|
||||
if err != nil {
|
||||
log.Panicf("Unable to freeze the server")
|
||||
}
|
||||
fr := &freezeRequest{done:make(chan bool)}
|
||||
go s.handleFreezeRequest(fr, &fs)
|
||||
<-fr.done
|
||||
return fr.readCloser
|
||||
}
|
||||
|
||||
fr := &freezeRequest{done:make(chan bool)}
|
||||
s.freezeRequest <- fr
|
||||
<-fr.done
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue