Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8f5e34e

Browse files
committed
Avoid double assign of a.network
1 parent 71071d5 commit 8f5e34e

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

agent/agent.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -210,13 +210,10 @@ func (a *agent) run(ctx context.Context) error {
210210
a.closeMutex.Unlock()
211211
if network == nil {
212212
a.logger.Debug(ctx, "creating tailnet")
213-
network, err = a.createTailnet(ctx, metadata.DERPMap)
213+
err = a.createTailnet(ctx, metadata.DERPMap)
214214
if err != nil {
215215
return xerrors.Errorf("create tailnet: %w", err)
216216
}
217-
a.closeMutex.Lock()
218-
a.network = network
219-
a.closeMutex.Unlock()
220217
} else {
221218
// Update the DERP map!
222219
network.SetDERPMap(metadata.DERPMap)
@@ -245,7 +242,7 @@ func (a *agent) trackConnGoroutine(fn func()) error {
245242
return nil
246243
}
247244

248-
func (a *agent) createTailnet(ctx context.Context, derpMap *tailcfg.DERPMap) (network *tailnet.Conn, err error) {
245+
func (a *agent) createTailnet(ctx context.Context, derpMap *tailcfg.DERPMap) (err error) {
249246
a.closeMutex.Lock()
250247
if a.isClosed() {
251248
a.closeMutex.Unlock()
@@ -264,6 +261,9 @@ func (a *agent) createTailnet(ctx context.Context, derpMap *tailcfg.DERPMap) (ne
264261
defer func() {
265262
if err != nil {
266263
network.Close()
264+
a.closeMutex.Lock()
265+
a.network = nil
266+
a.closeMutex.Unlock()
267267
}
268268
}()
269269
a.network = network
@@ -287,7 +287,7 @@ func (a *agent) createTailnet(ctx context.Context, derpMap *tailcfg.DERPMap) (ne
287287
go a.sshServer.HandleConn(conn)
288288
}
289289
}); err != nil {
290-
return nil, err
290+
return err
291291
}
292292

293293
reconnectingPTYListener, err := network.Listen("tcp", ":"+strconv.Itoa(codersdk.TailnetReconnectingPTYPort))
@@ -327,7 +327,7 @@ func (a *agent) createTailnet(ctx context.Context, derpMap *tailcfg.DERPMap) (ne
327327
go a.handleReconnectingPTY(ctx, msg, conn)
328328
}
329329
}); err != nil {
330-
return nil, err
330+
return err
331331
}
332332

333333
speedtestListener, err := network.Listen("tcp", ":"+strconv.Itoa(codersdk.TailnetSpeedtestPort))
@@ -355,7 +355,7 @@ func (a *agent) createTailnet(ctx context.Context, derpMap *tailcfg.DERPMap) (ne
355355
}
356356
}
357357
}); err != nil {
358-
return nil, err
358+
return err
359359
}
360360

361361
statisticsListener, err := network.Listen("tcp", ":"+strconv.Itoa(codersdk.TailnetStatisticsPort))
@@ -386,7 +386,7 @@ func (a *agent) createTailnet(ctx context.Context, derpMap *tailcfg.DERPMap) (ne
386386
a.logger.Critical(ctx, "serve statistics HTTP server", slog.Error(err))
387387
}
388388
}); err != nil {
389-
return nil, err
389+
return err
390390
}
391391

392392
return network, nil

0 commit comments

Comments
 (0)