Skip to content

Commit 1c16de8

Browse files
committed
Close before deleting key.
1 parent b1428ed commit 1c16de8

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

service/listeners.go

+16-4
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,11 @@ func (m *listenerManager) ListenStream(network string, addr string) (StreamListe
146146
listener: *lnConcrete.ln,
147147
closeCh: make(chan struct{}),
148148
onCloseFunc: func() error {
149+
if err := lnConcrete.Close(); err != nil {
150+
return err
151+
}
149152
m.delete(lnKey)
150-
return lnConcrete.Close()
153+
return nil
151154
},
152155
}
153156
sl.acceptCh = &atomic.Value{}
@@ -181,8 +184,11 @@ func (m *listenerManager) ListenStream(network string, addr string) (StreamListe
181184
listener: *lnConcrete.ln,
182185
closeCh: make(chan struct{}),
183186
onCloseFunc: func() error {
187+
if err := lnConcrete.Close(); err != nil {
188+
return err
189+
}
184190
m.delete(lnKey)
185-
return lnConcrete.Close()
191+
return nil
186192
},
187193
}
188194
sl.acceptCh = &atomic.Value{}
@@ -203,8 +209,11 @@ func (m *listenerManager) ListenPacket(network string, addr string) (net.PacketC
203209
return &sharedPacketConn{
204210
PacketConn: lnConcrete.pc,
205211
onCloseFunc: func() error {
212+
if err := lnConcrete.Close(); err != nil {
213+
return err
214+
}
206215
m.delete(lnKey)
207-
return lnConcrete.Close()
216+
return nil
208217
},
209218
}, nil
210219
}
@@ -221,8 +230,11 @@ func (m *listenerManager) ListenPacket(network string, addr string) (net.PacketC
221230
return &sharedPacketConn{
222231
PacketConn: pc,
223232
onCloseFunc: func() error {
233+
if err := lnConcrete.Close(); err != nil {
234+
return err
235+
}
224236
m.delete(lnKey)
225-
return lnConcrete.Close()
237+
return nil
226238
},
227239
}, nil
228240
}

0 commit comments

Comments
 (0)