提交 3f4da97c 作者: Matt Bell 提交者: Juan Batiz-Benet

cmd/ipfs: Use daemon lock functions

上级 d67e1e50
...@@ -4,18 +4,14 @@ import ( ...@@ -4,18 +4,14 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/camlistore/lock"
ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr" ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
manet "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/net" manet "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/net"
cmds "github.com/jbenet/go-ipfs/commands" cmds "github.com/jbenet/go-ipfs/commands"
cmdsHttp "github.com/jbenet/go-ipfs/commands/http" cmdsHttp "github.com/jbenet/go-ipfs/commands/http"
"github.com/jbenet/go-ipfs/config" "github.com/jbenet/go-ipfs/daemon"
) )
// DaemonLockFile is the filename of the daemon lock, relative to config dir
const DaemonLockFile = "daemon.lock"
var Daemon = &cmds.Command{ var Daemon = &cmds.Command{
Options: []cmds.Option{}, Options: []cmds.Option{},
Help: "TODO", Help: "TODO",
...@@ -26,13 +22,7 @@ var Daemon = &cmds.Command{ ...@@ -26,13 +22,7 @@ var Daemon = &cmds.Command{
func daemonFunc(req cmds.Request, res cmds.Response) { func daemonFunc(req cmds.Request, res cmds.Response) {
ctx := req.Context() ctx := req.Context()
lockPath, err := config.Path(ctx.ConfigRoot, DaemonLockFile) lk, err := daemon.Lock(ctx.ConfigRoot)
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
lk, err := lock.Lock(lockPath)
if err != nil { if err != nil {
res.SetError(fmt.Errorf("Couldn't obtain lock. Is another daemon already running?"), cmds.ErrNormal) res.SetError(fmt.Errorf("Couldn't obtain lock. Is another daemon already running?"), cmds.ErrNormal)
return return
......
...@@ -6,13 +6,12 @@ import ( ...@@ -6,13 +6,12 @@ import (
"os" "os"
"runtime/pprof" "runtime/pprof"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/camlistore/lock"
cmds "github.com/jbenet/go-ipfs/commands" cmds "github.com/jbenet/go-ipfs/commands"
cmdsCli "github.com/jbenet/go-ipfs/commands/cli" cmdsCli "github.com/jbenet/go-ipfs/commands/cli"
cmdsHttp "github.com/jbenet/go-ipfs/commands/http" cmdsHttp "github.com/jbenet/go-ipfs/commands/http"
"github.com/jbenet/go-ipfs/config" "github.com/jbenet/go-ipfs/config"
"github.com/jbenet/go-ipfs/core/commands" "github.com/jbenet/go-ipfs/core/commands"
"github.com/jbenet/go-ipfs/daemon"
u "github.com/jbenet/go-ipfs/util" u "github.com/jbenet/go-ipfs/util"
) )
...@@ -88,21 +87,7 @@ func main() { ...@@ -88,21 +87,7 @@ func main() {
res = root.Call(req) res = root.Call(req)
} else { } else {
local := true if daemon.Locked(configPath) {
lockFilePath, err := config.Path(configPath, DaemonLockFile)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
if lk, err := lock.Lock(lockFilePath); err != nil {
local = false
} else {
lk.Close()
}
if !local {
res, err = cmdsHttp.Send(req) res, err = cmdsHttp.Send(req)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论