fix reset core conflict
This commit is contained in:
@@ -489,6 +489,7 @@ func (s *Box) Close() error {
|
||||
close(s.done)
|
||||
}
|
||||
var err error
|
||||
s.logger.Info("closing sing-box")
|
||||
for _, closeItem := range []struct {
|
||||
name string
|
||||
service adapter.Lifecycle
|
||||
@@ -552,6 +553,7 @@ func (s *Box) Close() error {
|
||||
}
|
||||
err = errors.Join(err, closeErr)
|
||||
s.logger.Trace("close logger completed (", F.Seconds(time.Since(startTime).Seconds()), "s)")
|
||||
s.logger.Info("sing-box closed (live time: ", F.Seconds(time.Since(s.createdAt).Seconds()), "s)")
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
|
||||
"github.com/alireza0/s-ui/logger"
|
||||
|
||||
@@ -29,7 +28,6 @@ var (
|
||||
)
|
||||
|
||||
type Core struct {
|
||||
mu sync.RWMutex
|
||||
isRunning bool
|
||||
instance *Box
|
||||
}
|
||||
@@ -48,15 +46,10 @@ func (c *Core) GetCtx() context.Context {
|
||||
}
|
||||
|
||||
func (c *Core) GetInstance() *Box {
|
||||
c.mu.RLock()
|
||||
defer c.mu.RUnlock()
|
||||
return c.instance
|
||||
}
|
||||
|
||||
func (c *Core) Start(sbConfig []byte) error {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
|
||||
var opt option.Options
|
||||
err := opt.UnmarshalJSONContext(globalCtx, sbConfig)
|
||||
if err != nil {
|
||||
@@ -90,9 +83,6 @@ func (c *Core) Start(sbConfig []byte) error {
|
||||
}
|
||||
|
||||
func (c *Core) Stop() error {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
|
||||
c.isRunning = false
|
||||
if c.instance == nil {
|
||||
return nil
|
||||
@@ -103,7 +93,5 @@ func (c *Core) Stop() error {
|
||||
}
|
||||
|
||||
func (c *Core) IsRunning() bool {
|
||||
c.mu.RLock()
|
||||
defer c.mu.RUnlock()
|
||||
return c.isRunning
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user