mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +00:00
Fix Data Race in nodeshutdown restart
This commit is contained in:
parent
1151dc1ee5
commit
a42c066af7
@ -21,6 +21,7 @@ package nodeshutdown
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -329,15 +330,18 @@ func TestRestart(t *testing.T) {
|
|||||||
syncNodeStatus := func() {}
|
syncNodeStatus := func() {}
|
||||||
|
|
||||||
var shutdownChan chan bool
|
var shutdownChan chan bool
|
||||||
|
var shutdownChanMut sync.Mutex
|
||||||
var connChan = make(chan struct{}, 1)
|
var connChan = make(chan struct{}, 1)
|
||||||
|
|
||||||
systemDbus = func() (dbusInhibiter, error) {
|
systemDbus = func() (dbusInhibiter, error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
connChan <- struct{}{}
|
connChan <- struct{}{}
|
||||||
}()
|
}()
|
||||||
|
ch := make(chan bool)
|
||||||
shutdownChan = make(chan bool)
|
shutdownChanMut.Lock()
|
||||||
dbus := &fakeDbus{currentInhibitDelay: systemInhibitDelay, shutdownChan: shutdownChan, overrideSystemInhibitDelay: overrideSystemInhibitDelay}
|
shutdownChan = ch
|
||||||
|
shutdownChanMut.Unlock()
|
||||||
|
dbus := &fakeDbus{currentInhibitDelay: systemInhibitDelay, shutdownChan: ch, overrideSystemInhibitDelay: overrideSystemInhibitDelay}
|
||||||
return dbus, nil
|
return dbus, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,7 +358,9 @@ func TestRestart(t *testing.T) {
|
|||||||
case <-connChan:
|
case <-connChan:
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(time.Second)
|
time.Sleep(dbusReconnectPeriod)
|
||||||
|
shutdownChanMut.Lock()
|
||||||
close(shutdownChan)
|
close(shutdownChan)
|
||||||
|
shutdownChanMut.Unlock()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user