mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-24 20:07:45 +08:00
cmd/ipfs: Use daemon lock functions
This commit is contained in:
parent
d67e1e5068
commit
3f4da97c58
@ -4,18 +4,14 @@ import (
|
||||
"fmt"
|
||||
"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"
|
||||
manet "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/net"
|
||||
|
||||
cmds "github.com/jbenet/go-ipfs/commands"
|
||||
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{
|
||||
Options: []cmds.Option{},
|
||||
Help: "TODO",
|
||||
@ -26,13 +22,7 @@ var Daemon = &cmds.Command{
|
||||
func daemonFunc(req cmds.Request, res cmds.Response) {
|
||||
ctx := req.Context()
|
||||
|
||||
lockPath, err := config.Path(ctx.ConfigRoot, DaemonLockFile)
|
||||
if err != nil {
|
||||
res.SetError(err, cmds.ErrNormal)
|
||||
return
|
||||
}
|
||||
|
||||
lk, err := lock.Lock(lockPath)
|
||||
lk, err := daemon.Lock(ctx.ConfigRoot)
|
||||
if err != nil {
|
||||
res.SetError(fmt.Errorf("Couldn't obtain lock. Is another daemon already running?"), cmds.ErrNormal)
|
||||
return
|
||||
|
||||
@ -6,13 +6,12 @@ import (
|
||||
"os"
|
||||
"runtime/pprof"
|
||||
|
||||
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/camlistore/lock"
|
||||
|
||||
cmds "github.com/jbenet/go-ipfs/commands"
|
||||
cmdsCli "github.com/jbenet/go-ipfs/commands/cli"
|
||||
cmdsHttp "github.com/jbenet/go-ipfs/commands/http"
|
||||
"github.com/jbenet/go-ipfs/config"
|
||||
"github.com/jbenet/go-ipfs/core/commands"
|
||||
"github.com/jbenet/go-ipfs/daemon"
|
||||
u "github.com/jbenet/go-ipfs/util"
|
||||
)
|
||||
|
||||
@ -88,21 +87,7 @@ func main() {
|
||||
res = root.Call(req)
|
||||
|
||||
} else {
|
||||
local := true
|
||||
|
||||
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 {
|
||||
if daemon.Locked(configPath) {
|
||||
res, err = cmdsHttp.Send(req)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user