Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit64f6496

Browse files
committed
fix: Improve closure of provisioner and agent tailnet dial
1 parente5cb6ac commit64f6496

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

‎coderd/coderdtest/coderdtest.go‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,13 +393,16 @@ func NewProvisionerDaemon(t *testing.T, coderAPI *coderd.API) io.Closer {
393393
funcNewExternalProvisionerDaemon(t*testing.T,client*codersdk.Client,org uuid.UUID,tagsmap[string]string) io.Closer {
394394
echoClient,echoServer:=provisionersdk.MemTransportPipe()
395395
ctx,cancelFunc:=context.WithCancel(context.Background())
396+
serveDone:=make(chanstruct{})
396397
t.Cleanup(func() {
397398
_=echoClient.Close()
398399
_=echoServer.Close()
399400
cancelFunc()
401+
<-serveDone
400402
})
401403
fs:=afero.NewMemMapFs()
402404
gofunc() {
405+
deferclose(serveDone)
403406
err:=echo.Serve(ctx,fs,&provisionersdk.ServeOptions{
404407
Listener:echoServer,
405408
})

‎coderd/workspaceagents.go‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,8 @@ func (api *API) dialWorkspaceAgentTailnet(r *http.Request, agentID uuid.UUID) (*
446446
Logger:api.Logger.Named("tailnet"),
447447
})
448448
iferr!=nil {
449+
_=clientConn.Close()
450+
_=serverConn.Close()
449451
returnnil,xerrors.Errorf("create tailnet conn: %w",err)
450452
}
451453

‎provisionerd/provisionerd.go‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,5 +520,9 @@ func (p *Server) closeWithError(err error) error {
520520

521521
p.opts.Logger.Debug(context.Background(),"closing server with error",slog.Error(err))
522522

523+
ifc,ok:=p.clientValue.Load().(proto.DRPCProvisionerDaemonClient);ok {
524+
_=c.Close()
525+
}
526+
523527
returnerr
524528
}

‎provisionerd/provisionerd_test.go‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,7 +1097,6 @@ func createProvisionerDaemonClient(t *testing.T, server provisionerDaemonTestSer
10971097
}()
10981098
t.Cleanup(func() {
10991099
cancelFunc()
1100-
_=serverPipe.Close()
11011100
<-closed
11021101
})
11031102
returnproto.NewDRPCProvisionerDaemonClient(clientPipe)
@@ -1117,10 +1116,15 @@ func createProvisionerClient(t *testing.T, server provisionerTestServer) sdkprot
11171116
require.NoError(t,err)
11181117
srv:=drpcserver.New(mux)
11191118
ctx,cancelFunc:=context.WithCancel(context.Background())
1120-
t.Cleanup(cancelFunc)
1119+
closed:=make(chanstruct{})
11211120
gofunc() {
1121+
deferclose(closed)
11221122
_=srv.Serve(ctx,serverPipe)
11231123
}()
1124+
t.Cleanup(func() {
1125+
cancelFunc()
1126+
<-closed
1127+
})
11241128
returnsdkproto.NewDRPCProvisionerClient(clientPipe)
11251129
}
11261130

@@ -1150,6 +1154,7 @@ type provisionerDaemonTestServer struct {
11501154
func (p*provisionerDaemonTestServer)AcquireJob(ctx context.Context,empty*proto.Empty) (*proto.AcquiredJob,error) {
11511155
returnp.acquireJob(ctx,empty)
11521156
}
1157+
11531158
func (p*provisionerDaemonTestServer)CommitQuota(ctx context.Context,com*proto.CommitQuotaRequest) (*proto.CommitQuotaResponse,error) {
11541159
ifp.commitQuota==nil {
11551160
return&proto.CommitQuotaResponse{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp