1
0
Fork 0
forked from External/grumble

grumble: fix unix build, freeze_unix.go was missing imports.

This commit is contained in:
Mikkel Krautz 2012-11-18 17:57:08 +01:00
parent f953ece6f2
commit d77f8843a7

View file

@ -1,49 +1,57 @@
// Copyright (c) 2012 The Grumble Authors // Copyright (c) 2012 The Grumble Authors
// The use of this source code is goverened by a BSD-style // The use of this source code is goverened by a BSD-style
// license that can be found in the LICENSE-file. // license that can be found in the LICENSE-file.
// +build !windows // +build !windows
package main package main
func (server *Server) freezeToFile() (err error) { import (
// Close the log file, if it's open "code.google.com/p/goprotobuf/proto"
if server.freezelog != nil { "io/ioutil"
err = server.freezelog.Close() "os"
if err != nil { "path/filepath"
return err "strconv"
} )
}
func (server *Server) freezeToFile() (err error) {
// Make sure the whole server is synced to disk // Close the log file, if it's open
fs, err := server.Freeze() if server.freezelog != nil {
if err != nil { err = server.freezelog.Close()
return err if err != nil {
} return err
f, err := ioutil.TempFile(filepath.Join(Args.DataDir, "servers", strconv.FormatInt(server.Id, 10)), ".main.fz_") }
if err != nil { }
return err
} // Make sure the whole server is synced to disk
buf, err := proto.Marshal(fs) fs, err := server.Freeze()
if err != nil { if err != nil {
return err return err
} }
_, err = f.Write(buf) f, err := ioutil.TempFile(filepath.Join(Args.DataDir, "servers", strconv.FormatInt(server.Id, 10)), ".main.fz_")
if err != nil { if err != nil {
return err return err
} }
err = f.Sync() buf, err := proto.Marshal(fs)
if err != nil { if err != nil {
return err return err
} }
err = f.Close() _, err = f.Write(buf)
if err != nil { if err != nil {
return err return err
} }
err = os.Rename(f.Name(), filepath.Join(Args.DataDir, "servers", strconv.FormatInt(server.Id, 10), "main.fz")) err = f.Sync()
if err != nil { if err != nil {
return err return err
} }
err = f.Close()
return nil if err != nil {
} return err
}
err = os.Rename(f.Name(), filepath.Join(Args.DataDir, "servers", strconv.FormatInt(server.Id, 10), "main.fz"))
if err != nil {
return err
}
return nil
}