Commit 44d01e0b authored by Manuel Kieweg's avatar Manuel Kieweg 🤷
Browse files

add mutex fpr httpAPI start

parent 9e97138d
...@@ -47,7 +47,8 @@ func initialize() error { ...@@ -47,7 +47,8 @@ func initialize() error {
} }
// TODO: Start grpc listener here // TODO: Start grpc listener here
coreLock.Lock()
defer coreLock.Unlock()
return httpAPI() return httpAPI()
} }
...@@ -76,11 +77,9 @@ func createPrincipalNetworkDomain(sbi SouthboundInterface) error { ...@@ -76,11 +77,9 @@ func createPrincipalNetworkDomain(sbi SouthboundInterface) error {
// Run calls initialize to start the controller // Run calls initialize to start the controller
func Run(ctx context.Context) error { func Run(ctx context.Context) error {
var initError error var initError error
coreLock.Lock()
coreOnce.Do(func() { coreOnce.Do(func() {
initError = initialize() initError = initialize()
}) })
coreLock.Unlock()
if initError != nil { if initError != nil {
log.WithFields(log.Fields{}).Error(initError) log.WithFields(log.Fields{}).Error(initError)
return initError return initError
......
...@@ -137,10 +137,12 @@ func Test_httpApi(t *testing.T) { ...@@ -137,10 +137,12 @@ func Test_httpApi(t *testing.T) {
wantErr: false, wantErr: false,
}, },
} }
coreLock.Lock()
if err := httpAPI(); err != nil { if err := httpAPI(); err != nil {
t.Errorf("httpApi() error = %v", err) t.Errorf("httpApi() error = %v", err)
return return
} }
coreLock.Unlock()
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
got, err := http.Get(tt.request) got, err := http.Get(tt.request)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment