fix api fd leak

This commit is contained in:
Page Fault
2020-07-14 15:36:11 +00:00
parent 3b63cc2db4
commit 9dc8a7c391
2 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -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
}
}
+2 -1
View File
@@ -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
}
}