mirror of
https://github.com/xjasonlyu/tun2socks.git
synced 2026-10-19 16:16:35 +00:00
Refactor(engine): add StartOrFatal/StopOrFatal wrappers (#552)
CodeQL / Analyze (go) (push) Canceled after 0s
Publish Docker Image / Docker (push) Canceled after 0s
Linter / Linter (push) Canceled after 0s
Test / Unit Test (push) Canceled after 0s
Test / Build Test (push) Canceled after 0s
Test / E2E Test (HTTP) (push) Canceled after 0s
Test / E2E Test (Relay) (push) Canceled after 0s
Test / E2E Test (SOCKSv4) (push) Canceled after 0s
Test / E2E Test (SOCKSv5) (push) Canceled after 0s
Test / E2E Test (SSH) (push) Canceled after 0s
Test / E2E Test (Direct) (push) Canceled after 0s
Test / E2E Test (Shadowsocks) (push) Canceled after 0s
CodeQL / Analyze (go) (push) Canceled after 0s
Publish Docker Image / Docker (push) Canceled after 0s
Linter / Linter (push) Canceled after 0s
Test / Unit Test (push) Canceled after 0s
Test / Build Test (push) Canceled after 0s
Test / E2E Test (HTTP) (push) Canceled after 0s
Test / E2E Test (Relay) (push) Canceled after 0s
Test / E2E Test (SOCKSv4) (push) Canceled after 0s
Test / E2E Test (SOCKSv5) (push) Canceled after 0s
Test / E2E Test (SSH) (push) Canceled after 0s
Test / E2E Test (Direct) (push) Canceled after 0s
Test / E2E Test (Shadowsocks) (push) Canceled after 0s
* Feat(engine): make Start/Stop return error instead of log.Fatalf (#550) * Refactor(engine): add StartOrFatal/StopOrFatal wrappers --------- Co-authored-by: Jason Lyu <xjasonlyu@gmail.com>
This commit is contained in:
+20
-16
@@ -42,20 +42,6 @@ var (
|
||||
_icmpHandler adapter.NetworkHandler
|
||||
)
|
||||
|
||||
// Start starts the default engine up.
|
||||
func Start() {
|
||||
if err := start(); err != nil {
|
||||
log.Fatalf("[ENGINE] failed to start: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Stop shuts the default engine down.
|
||||
func Stop() {
|
||||
if err := stop(); err != nil {
|
||||
log.Fatalf("[ENGINE] failed to stop: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Insert loads *Key to the default engine.
|
||||
func Insert(k *Key) {
|
||||
_engineMu.Lock()
|
||||
@@ -70,7 +56,8 @@ func SetICMPHandler(h adapter.NetworkHandler) {
|
||||
_engineMu.Unlock()
|
||||
}
|
||||
|
||||
func start() error {
|
||||
// Start starts the default engine up.
|
||||
func Start() error {
|
||||
_engineMu.Lock()
|
||||
defer _engineMu.Unlock()
|
||||
|
||||
@@ -90,7 +77,16 @@ func start() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func stop() (err error) {
|
||||
// StartOrFatal starts the default engine up, and exits the
|
||||
// process if it fails.
|
||||
func StartOrFatal() {
|
||||
if err := Start(); err != nil {
|
||||
log.Fatalf("[ENGINE] failed to start: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Stop shuts the default engine down.
|
||||
func Stop() error {
|
||||
_engineMu.Lock()
|
||||
if _defaultDevice != nil {
|
||||
_defaultDevice.Close()
|
||||
@@ -103,6 +99,14 @@ func stop() (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
// StopOrFatal shuts the default engine down, and exits the
|
||||
// process if it fails.
|
||||
func StopOrFatal() {
|
||||
if err := Stop(); err != nil {
|
||||
log.Fatalf("[ENGINE] failed to stop: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func execCommand(cmd string) error {
|
||||
parts, err := shlex.Split(cmd)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user