소스 검색

runner: defer context cancel

defer the cancel to guarantee it runs
Michael Yang 2 달 전
부모
커밋
31e472baa4
2개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 2
      runner/llamarunner/runner.go
  2. 2 2
      runner/ollamarunner/runner.go

+ 2 - 2
runner/llamarunner/runner.go

@@ -968,13 +968,14 @@ func Execute(args []string) error {
 	server.cond = sync.NewCond(&server.mu)
 	server.cond = sync.NewCond(&server.mu)
 
 
 	ctx, cancel := context.WithCancel(context.Background())
 	ctx, cancel := context.WithCancel(context.Background())
+	defer cancel()
+
 	go server.run(ctx)
 	go server.run(ctx)
 
 
 	addr := "127.0.0.1:" + strconv.Itoa(*port)
 	addr := "127.0.0.1:" + strconv.Itoa(*port)
 	listener, err := net.Listen("tcp", addr)
 	listener, err := net.Listen("tcp", addr)
 	if err != nil {
 	if err != nil {
 		fmt.Println("Listen error:", err)
 		fmt.Println("Listen error:", err)
-		cancel()
 		return err
 		return err
 	}
 	}
 	defer listener.Close()
 	defer listener.Close()
@@ -994,6 +995,5 @@ func Execute(args []string) error {
 		return err
 		return err
 	}
 	}
 
 
-	cancel()
 	return nil
 	return nil
 }
 }

+ 2 - 2
runner/ollamarunner/runner.go

@@ -890,13 +890,14 @@ func Execute(args []string) error {
 	server.cond = sync.NewCond(&server.mu)
 	server.cond = sync.NewCond(&server.mu)
 
 
 	ctx, cancel := context.WithCancel(context.Background())
 	ctx, cancel := context.WithCancel(context.Background())
+	defer cancel()
+
 	go server.run(ctx)
 	go server.run(ctx)
 
 
 	addr := "127.0.0.1:" + strconv.Itoa(*port)
 	addr := "127.0.0.1:" + strconv.Itoa(*port)
 	listener, err := net.Listen("tcp", addr)
 	listener, err := net.Listen("tcp", addr)
 	if err != nil {
 	if err != nil {
 		fmt.Println("Listen error:", err)
 		fmt.Println("Listen error:", err)
-		cancel()
 		return err
 		return err
 	}
 	}
 	defer listener.Close()
 	defer listener.Close()
@@ -916,6 +917,5 @@ func Execute(args []string) error {
 		return err
 		return err
 	}
 	}
 
 
-	cancel()
 	return nil
 	return nil
 }
 }