Browse Source

start filer local socket only on non windows

fix https://github.com/chrislusf/seaweedfs/issues/2930
pull/2932/head
chrislu 3 years ago
parent
commit
a69f0b62c2
  1. 26
      weed/command/filer.go

26
weed/command/filer.go

@ -5,6 +5,7 @@ import (
"net" "net"
"net/http" "net/http"
"os" "os"
"runtime"
"time" "time"
"google.golang.org/grpc/reflection" "google.golang.org/grpc/reflection"
@ -248,18 +249,6 @@ func (fo *FilerOptions) startFiler() {
glog.Fatalf("Filer listener error: %v", e) glog.Fatalf("Filer listener error: %v", e)
} }
// start on local unix socket
if *fo.localSocket == "" {
*fo.localSocket = fmt.Sprintf("/tmp/seaweefs-filer-%d.sock", *fo.port)
if err := os.Remove(*fo.localSocket); err != nil && !os.IsNotExist(err) {
glog.Fatalf("Failed to remove %s, error: %s", *fo.localSocket, err.Error())
}
}
filerSocketListener, err := net.Listen("unix", *fo.localSocket)
if err != nil {
glog.Fatalf("Failed to listen on %s: %v", *fo.localSocket, err)
}
// starting grpc server // starting grpc server
grpcPort := *fo.portGrpc grpcPort := *fo.portGrpc
grpcL, grpcLocalL, err := util.NewIpAndLocalListeners(*fo.bindIp, grpcPort, 0) grpcL, grpcLocalL, err := util.NewIpAndLocalListeners(*fo.bindIp, grpcPort, 0)
@ -275,9 +264,22 @@ func (fo *FilerOptions) startFiler() {
go grpcS.Serve(grpcL) go grpcS.Serve(grpcL)
httpS := &http.Server{Handler: defaultMux} httpS := &http.Server{Handler: defaultMux}
if runtime.GOOS != "windows" {
if *fo.localSocket == "" {
*fo.localSocket = fmt.Sprintf("/tmp/seaweefs-filer-%d.sock", *fo.port)
if err := os.Remove(*fo.localSocket); err != nil && !os.IsNotExist(err) {
glog.Fatalf("Failed to remove %s, error: %s", *fo.localSocket, err.Error())
}
}
go func() { go func() {
// start on local unix socket
filerSocketListener, err := net.Listen("unix", *fo.localSocket)
if err != nil {
glog.Fatalf("Failed to listen on %s: %v", *fo.localSocket, err)
}
httpS.Serve(filerSocketListener) httpS.Serve(filerSocketListener)
}() }()
}
if filerLocalListener != nil { if filerLocalListener != nil {
go func() { go func() {
if err := httpS.Serve(filerLocalListener); err != nil { if err := httpS.Serve(filerLocalListener); err != nil {

Loading…
Cancel
Save