Skip to content

Commit d4bcc62

Browse files
committed
sequential execution
Signed-off-by: Harper, Jason M <[email protected]>
1 parent 75510c3 commit d4bcc62

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

cmd/config/config.go

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -237,50 +237,49 @@ func setOnTarget(cmd *cobra.Command, myTarget target.Target, flagGroups []flagGr
237237
return
238238
}
239239
channelSetComplete := make(chan setOutput)
240-
var successMessages []string
241-
var errorMessages []string
240+
var statusMessages []string
242241
_ = statusUpdate(myTarget.GetName(), "updating configuration")
243242
for _, group := range flagGroups {
244243
for _, flag := range group.flags {
245244
if flag.HasSetFunc() && cmd.Flags().Lookup(flag.GetName()).Changed {
246-
successMessages = append(successMessages, fmt.Sprintf("set %s to %s", flag.GetName(), flag.GetValueAsString()))
247-
errorMessages = append(errorMessages, fmt.Sprintf("failed to set %s to %s", flag.GetName(), flag.GetValueAsString()))
245+
successMessage := fmt.Sprintf("set %s to %s", flag.GetName(), flag.GetValueAsString())
246+
errorMessage := fmt.Sprintf("failed to set %s to %s", flag.GetName(), flag.GetValueAsString())
247+
var out setOutput
248248
switch flag.GetType() {
249249
case "int":
250250
if flag.intSetFunc != nil {
251251
value, _ := cmd.Flags().GetInt(flag.GetName())
252-
go flag.intSetFunc(value, myTarget, localTempDir, channelSetComplete, len(successMessages)-1)
252+
go flag.intSetFunc(value, myTarget, localTempDir, channelSetComplete, 0)
253+
out = <-channelSetComplete
253254
}
254255
case "float64":
255256
if flag.floatSetFunc != nil {
256257
value, _ := cmd.Flags().GetFloat64(flag.GetName())
257-
go flag.floatSetFunc(value, myTarget, localTempDir, channelSetComplete, len(successMessages)-1)
258+
go flag.floatSetFunc(value, myTarget, localTempDir, channelSetComplete, 0)
259+
out = <-channelSetComplete
258260
}
259261
case "string":
260262
if flag.stringSetFunc != nil {
261263
value, _ := cmd.Flags().GetString(flag.GetName())
262-
go flag.stringSetFunc(value, myTarget, localTempDir, channelSetComplete, len(successMessages)-1)
264+
go flag.stringSetFunc(value, myTarget, localTempDir, channelSetComplete, 0)
265+
out = <-channelSetComplete
263266
}
264267
case "bool":
265268
if flag.boolSetFunc != nil {
266269
value, _ := cmd.Flags().GetBool(flag.GetName())
267-
go flag.boolSetFunc(value, myTarget, localTempDir, channelSetComplete, len(successMessages)-1)
270+
go flag.boolSetFunc(value, myTarget, localTempDir, channelSetComplete, 0)
271+
out = <-channelSetComplete
268272
}
269273
}
274+
if out.err != nil {
275+
slog.Error(out.err.Error())
276+
statusMessages = append(statusMessages, errorMessage)
277+
} else {
278+
statusMessages = append(statusMessages, successMessage)
279+
}
270280
}
271281
}
272282
}
273-
// wait for all set goroutines to finish
274-
statusMessages := []string{}
275-
for range successMessages {
276-
out := <-channelSetComplete
277-
if out.err != nil {
278-
slog.Error(out.err.Error())
279-
statusMessages = append(statusMessages, errorMessages[out.goRoutineID])
280-
} else {
281-
statusMessages = append(statusMessages, successMessages[out.goRoutineID])
282-
}
283-
}
284283
statusMessage := fmt.Sprintf("configuration update complete: %s", strings.Join(statusMessages, ", "))
285284
slog.Info(statusMessage, slog.String("target", myTarget.GetName()))
286285
_ = statusUpdate(myTarget.GetName(), statusMessage)

cmd/config/set.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,8 @@ func setLlcSize(desiredLlcSize float64, myTarget target.Target, localTempDir str
153153
return
154154
}
155155
if currentLlcSize == desiredLlcSize {
156-
completeChannel <- setOutput{goRoutineID: goRoutineId, err: fmt.Errorf("LLC size is already set to %.2f MB", desiredLlcSize)}
156+
// return success
157+
completeChannel <- setOutput{goRoutineID: goRoutineId, err: nil}
157158
return
158159
}
159160
if desiredLlcSize > maximumLlcSize {

0 commit comments

Comments
 (0)