forked from External/grumble
grumble: fix unix build, freeze_unix.go was missing imports.
This commit is contained in:
parent
f953ece6f2
commit
d77f8843a7
1 changed files with 57 additions and 49 deletions
106
freeze_unix.go
106
freeze_unix.go
|
|
@ -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
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue