From 6695bdd34854f2cd1ddd43381681a6de800f664b Mon Sep 17 00:00:00 2001 From: NeitrinoK Date: Wed, 24 May 2023 01:40:24 +0300 Subject: [PATCH 1/3] Remove rlimit from daemon.go for fix windows compilation --- internal/client/daemon.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/client/daemon.go b/internal/client/daemon.go index 47cec35..d861130 100644 --- a/internal/client/daemon.go +++ b/internal/client/daemon.go @@ -139,9 +139,10 @@ func (daemon *Daemon) StartListeningUnixSocket(daemonUnixSock string) error { func (daemon *Daemon) ServeUntilNobodyAlive() { logClient.Info(0, "nocc-daemon started in", time.Since(daemon.startTime).Milliseconds(), "ms") - var rLimit syscall.Rlimit - _ = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) - logClient.Info(0, "env:", "clientID", daemon.clientID, "; user", daemon.hostUserName, "; num servers", len(daemon.remoteConnections), "; ulimit -n", rLimit.Cur, "; num cpu", runtime.NumCPU(), "; version", common.GetVersion()) + // var rLimit syscall.Rlimit + // _ = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) + // logClient.Info(0, "env:", "clientID", daemon.clientID, "; user", daemon.hostUserName, "; num servers", len(daemon.remoteConnections), "; ulimit -n", rLimit.Cur, "; num cpu", runtime.NumCPU(), "; version", common.GetVersion()) + logClient.Info(0, "env:", "clientID", daemon.clientID, "; user", daemon.hostUserName, "; num servers", len(daemon.remoteConnections), "; num cpu", runtime.NumCPU(), "; version", common.GetVersion()) go daemon.PeriodicallyInterruptHangedInvocations() go daemon.listener.StartAcceptingConnections(daemon) From 038383958610482d94eaa96d7066ac28eb0c479d Mon Sep 17 00:00:00 2001 From: NeitrinoK Date: Wed, 24 May 2023 01:43:55 +0300 Subject: [PATCH 2/3] Hacky fix nocc-server for Windows --- internal/server/nocc-server.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/internal/server/nocc-server.go b/internal/server/nocc-server.go index c59d5a2..0ba162f 100644 --- a/internal/server/nocc-server.go +++ b/internal/server/nocc-server.go @@ -12,7 +12,8 @@ import ( "strconv" "strings" "sync/atomic" - "syscall" + + // "syscall" "time" "github.com/VKCOM/nocc/internal/common" @@ -62,9 +63,10 @@ func (s *NoccServer) StartGRPCListening(listenAddr string) (net.Listener, error) logServer.Info(0, "nocc-server started") - var rLimit syscall.Rlimit - _ = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) - logServer.Info(0, "env:", "listenAddr", listenAddr, "; ulimit -n", rLimit.Cur, "; num cpu", runtime.NumCPU(), "; version", common.GetVersion()) + // var rLimit syscall.Rlimit + // _ = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) + // logServer.Info(0, "env:", "listenAddr", listenAddr, "; ulimit -n", rLimit.Cur, "; num cpu", runtime.NumCPU(), "; version", common.GetVersion()) + logServer.Info(0, "env:", "listenAddr", listenAddr, "; num cpu", runtime.NumCPU(), "; version", common.GetVersion()) return listener, s.GRPCServer.Serve(listener) } @@ -371,8 +373,8 @@ func (s *NoccServer) Status(context.Context, *pb.StatusRequest) (*pb.StatusReply clangRawOut, _ := exec.Command("clang", "-v").CombinedOutput() uNameRV, _ := exec.Command("uname", "-rv").CombinedOutput() - var rLimit syscall.Rlimit - _ = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) + // var rLimit syscall.Rlimit + // _ = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) return &pb.StatusReply{ ServerVersion: common.GetVersion(), @@ -383,7 +385,7 @@ func (s *NoccServer) Status(context.Context, *pb.StatusRequest) (*pb.StatusReply LogFileSize: logServer.GetFileSize(), SrcCacheSize: s.SrcFileCache.GetBytesOnDisk(), ObjCacheSize: s.ObjFileCache.GetBytesOnDisk(), - ULimit: int64(rLimit.Cur), + ULimit: int64(65535), UName: strings.TrimSpace(string(uNameRV)), SessionsTotal: atomic.LoadInt64(&s.Stats.sessionsCount), SessionsActive: s.ActiveClients.ActiveSessionsCount(), From 21478c5187032207b9d728b3b72e708c64d7ce31 Mon Sep 17 00:00:00 2001 From: NeitrinoK Date: Wed, 24 May 2023 01:45:36 +0300 Subject: [PATCH 3/3] Fix cron.go for windows (disable log rotation by SIGUSR1) --- internal/server/cron.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/server/cron.go b/internal/server/cron.go index 3989bae..9feeb81 100644 --- a/internal/server/cron.go +++ b/internal/server/cron.go @@ -40,7 +40,7 @@ func (c *Cron) doCron() { select { case sig := <-c.signals: logServer.Info(0, "got signal", sig) - if sig == syscall.SIGUSR1 { + if false { //sig == syscall.SIGUSR1 { if err := logServer.RotateLogFile(); err != nil { logServer.Error("could not rotate log file", err) } else { @@ -59,7 +59,8 @@ func (c *Cron) doCron() { func (c *Cron) StartCron() { c.signals = make(chan os.Signal, 2) - signal.Notify(c.signals, syscall.SIGUSR1, syscall.SIGTERM) + // signal.Notify(c.signals, syscall.SIGUSR1, syscall.SIGTERM) + signal.Notify(c.signals, syscall.SIGTERM) c.doCron() }