Skip to content

Commit a750cdb

Browse files
committed
feat: start()异步驱动部分调整同步Run()
1 parent 80c8a19 commit a750cdb

5 files changed

Lines changed: 8 additions & 12 deletions

File tree

internal/provider/engine/llamacpp.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ func (l *llamacppProvider) StartEngine(mode string) error {
222222
LlamaSwapConfigFilePath := filepath.Join(l.EngineConfig.ExecPath, LlamaSwapConfigFile)
223223
logger.EngineLogger.Info("[llamacpp] exec file path: ", execFile, l.EngineConfig.Host, LlamaSwapConfigFilePath)
224224
cmd := exec.Command(execFile, "-listen", l.EngineConfig.Host, "-config", LlamaSwapConfigFilePath)
225-
err := cmd.Start()
225+
err := cmd.Run()
226226
if err != nil {
227227
logger.EngineLogger.Error("[llamacpp] failed to start llamacpp-server: " + err.Error())
228228
return fmt.Errorf("failed to start llamacpp-server: %v", err)

internal/provider/engine/ollama.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ func (o *OllamaProvider) StartEngine(mode string) error {
164164
if runtime.GOOS == "windows" {
165165
utils.SetCmdSysProcAttr(cmd)
166166
}
167-
err := cmd.Start()
167+
err := cmd.Run()
168168
if err != nil {
169169
logger.EngineLogger.Error("[Ollama] failed to start ollama: " + err.Error())
170170
return fmt.Errorf("failed to start ollama: %v", err)
@@ -181,17 +181,13 @@ func (o *OllamaProvider) StartEngine(mode string) error {
181181
logger.EngineLogger.Error("[Ollama] failed to write pid file: " + err.Error())
182182
return fmt.Errorf("failed to write pid file: %v", err)
183183
}
184-
185-
go func() {
186-
cmd.Wait()
187-
}()
188184
} else {
189185
if utils.IpexOllamaSupportGPUStatus() {
190186
cmd := exec.Command(o.EngineConfig.ExecPath + "/" + OllamaBatchFile)
191187
if runtime.GOOS == "windows" {
192188
utils.SetCmdSysProcAttr(cmd)
193189
}
194-
err := cmd.Start()
190+
err := cmd.Run()
195191
if err != nil {
196192
logger.EngineLogger.Error("[Ollama] failed to start ollama: " + err.Error())
197193
return fmt.Errorf("failed to start ollama: %v", err)
@@ -201,7 +197,7 @@ func (o *OllamaProvider) StartEngine(mode string) error {
201197
if runtime.GOOS == "windows" {
202198
utils.SetCmdSysProcAttr(cmd)
203199
}
204-
err := cmd.Start()
200+
err := cmd.Run()
205201
if err != nil {
206202
logger.EngineLogger.Error("[Ollama] failed to start ollama: " + err.Error())
207203
return fmt.Errorf("failed to start ollama: %v", err)

internal/utils/server/server.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func StartOadinServer(logPath string, pidFilePath string) error {
5252
if runtime.GOOS == "windows" {
5353
utils.SetCmdSysProcAttr(cmd)
5454
}
55-
if err := cmd.Start(); err != nil {
55+
if err := cmd.Run(); err != nil {
5656
logger.LogicLogger.Error("start server error: %v", err)
5757
return fmt.Errorf("failed to start Oadin server: %v", err)
5858
}
@@ -147,7 +147,7 @@ func TrayStopOadinServer() error {
147147
if runtime.GOOS == "windows" {
148148
utils.SetCmdSysProcAttr(cmd)
149149
}
150-
if err := cmd.Start(); err != nil {
150+
if err := cmd.Run(); err != nil {
151151
return fmt.Errorf("failed to start Oadin server: %v", err)
152152
}
153153
fmt.Printf("Oadin server stopping")

tray/systray.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ func StartOADINServerTray(logPath string, pidFilePath string) error {
467467
cmd.Stderr = logFile
468468
utils.SetCmdSysProcAttr(cmd)
469469

470-
if err := cmd.Start(); err != nil {
470+
if err := cmd.Run(); err != nil {
471471
return fmt.Errorf("failed to start oadin server: %v", err)
472472
}
473473

tray/utils/logging_windows.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func ShowLogs() error {
1919
cmd := exec.Command(cmd_path, "/c", "start", logPath)
2020
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: false, CreationFlags: 0x08000000}
2121

22-
err := cmd.Start()
22+
err := cmd.Run()
2323
if err != nil {
2424
slog.Error(fmt.Sprintf("Failed to open log dir: %s", err))
2525
return err

0 commit comments

Comments
 (0)