Browse Source

frpc: do a graceful close for quic protocol at exit (#3282)

pull/3286/head
Gerhard Tan 2 years ago committed by GitHub
parent
commit
b1b8d9a82b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      cmd/frpc/sub/root.go

13
cmd/frpc/sub/root.go

@ -216,15 +216,16 @@ func startService(
return return
} }
kcpDoneCh := make(chan struct{}) closedDoneCh := make(chan struct{})
// Capture the exit signal if we use kcp. shouldGracefulClose := cfg.Protocol == "kcp" || cfg.Protocol == "quic"
if cfg.Protocol == "kcp" { // Capture the exit signal if we use kcp or quic.
go handleSignal(svr, kcpDoneCh) if shouldGracefulClose {
go handleSignal(svr, closedDoneCh)
} }
err = svr.Run() err = svr.Run()
if err == nil && cfg.Protocol == "kcp" { if err == nil && shouldGracefulClose {
<-kcpDoneCh <-closedDoneCh
} }
return return
} }

Loading…
Cancel
Save