@@ -1721,10 +1721,8 @@ func (m *Manager) startDockerRecoveryMonitor(ctx context.Context) {
17211721 // Initial check
17221722 if err := m .checkDockerAvailability (ctx ); err != nil {
17231723 // Check if context was cancelled before logging
1724- select {
1725- case <- ctx .Done ():
1724+ if ctx .Err () != nil {
17261725 return
1727- default :
17281726 }
17291727
17301728 m .logger .Warn ("Docker unavailable on startup, starting recovery" , zap .Error (err ))
@@ -1744,10 +1742,8 @@ func (m *Manager) startDockerRecoveryMonitor(ctx context.Context) {
17441742 case <- ticker .C :
17451743 if err := m .checkDockerAvailability (ctx ); err != nil {
17461744 // Check if context was cancelled before logging
1747- select {
1748- case <- ctx .Done ():
1745+ if ctx .Err () != nil {
17491746 return
1750- default :
17511747 }
17521748
17531749 m .logger .Warn ("Docker became unavailable, starting recovery" , zap .Error (err ))
@@ -1842,16 +1838,19 @@ func (m *Manager) handleDockerUnavailable(ctx context.Context) {
18421838 return
18431839 case <- time .After (currentInterval ):
18441840 // Check if context was cancelled while waiting
1845- select {
1846- case <- ctx .Done ():
1841+ if ctx .Err () != nil {
18471842 return
1848- default :
18491843 }
18501844
18511845 attempt ++
18521846
18531847 err := m .checkDockerAvailability (recoveryCtx )
18541848 if err == nil {
1849+ // Check before logging success
1850+ if ctx .Err () != nil {
1851+ return
1852+ }
1853+
18551854 // Docker is back!
18561855 elapsed := time .Since (startTime )
18571856 m .logger .Info ("Docker recovery successful" ,
@@ -1870,19 +1869,15 @@ func (m *Manager) handleDockerUnavailable(ctx context.Context) {
18701869 // Trigger reconnection of Docker-based servers
18711870 go func () {
18721871 // Check if context was cancelled before reconnecting
1873- select {
1874- case <- ctx .Done ():
1872+ if ctx .Err () != nil {
18751873 return
1876- default :
18771874 }
18781875
18791876 result := m .ForceReconnectAll ("docker_recovered" )
18801877
18811878 // Check again before logging
1882- select {
1883- case <- ctx .Done ():
1879+ if ctx .Err () != nil {
18841880 return
1885- default :
18861881 }
18871882
18881883 if len (result .FailedServers ) > 0 {
@@ -1900,11 +1895,8 @@ func (m *Manager) handleDockerUnavailable(ctx context.Context) {
19001895 }
19011896
19021897 // Check if context was cancelled before logging retry
1903- // Use parent context to catch shutdown faster
1904- select {
1905- case <- ctx .Done ():
1898+ if ctx .Err () != nil {
19061899 return
1907- default :
19081900 }
19091901
19101902 // Still unavailable, save state
0 commit comments