mirror of
https://github.com/p4gefau1t/trojan-go.git
synced 2024-04-21 12:21:34 +00:00
fix api fd leak
This commit is contained in:
@@ -60,6 +60,7 @@ func RunClientAPI(ctx context.Context, auth statistic.Authenticator) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer server.Stop()
|
||||
service := &ClientAPI{
|
||||
ctx: ctx,
|
||||
auth: auth,
|
||||
@@ -77,6 +78,7 @@ func RunClientAPI(ctx context.Context, auth statistic.Authenticator) error {
|
||||
if err != nil {
|
||||
return common.NewError("client api failed to listen").Base(err)
|
||||
}
|
||||
defer listener.Close()
|
||||
log.Info("client-side api service is listening on", listener.Addr().String())
|
||||
errChan := make(chan error, 1)
|
||||
go func() {
|
||||
@@ -86,7 +88,6 @@ func RunClientAPI(ctx context.Context, auth statistic.Authenticator) error {
|
||||
case err := <-errChan:
|
||||
return err
|
||||
case <-ctx.Done():
|
||||
server.Stop()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +226,7 @@ func RunServerAPI(ctx context.Context, auth statistic.Authenticator) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer server.Stop()
|
||||
RegisterTrojanServerServiceServer(server, service)
|
||||
addr, err := net.ResolveIPAddr("ip", cfg.API.APIHost)
|
||||
if err != nil {
|
||||
@@ -239,6 +240,7 @@ func RunServerAPI(ctx context.Context, auth statistic.Authenticator) error {
|
||||
if err != nil {
|
||||
return common.NewError("server api failed to listen").Base(err)
|
||||
}
|
||||
defer listener.Close()
|
||||
log.Info("server-side api service is listening on", listener.Addr().String())
|
||||
errChan := make(chan error, 1)
|
||||
go func() {
|
||||
@@ -248,7 +250,6 @@ func RunServerAPI(ctx context.Context, auth statistic.Authenticator) error {
|
||||
case err := <-errChan:
|
||||
return err
|
||||
case <-ctx.Done():
|
||||
server.Stop()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user