Skip to content

Commit

Permalink
pause scope: don't use the global math/rand RNG
Browse files Browse the repository at this point in the history
Otherwise, we'll always get the same sequence of random numbers which
may lead to conflicts.  Also bump the number of maximum attempts to 10
instead of 3.

[NO NEW TESTS NEEDED] as I cannot enforce random number collisions.
Existing tests should continue be green and flake slightly less.

Signed-off-by: Valentin Rothberg <[email protected]>
  • Loading branch information
vrothberg committed Dec 14, 2021
1 parent 4543fd4 commit 65d5a2b
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"strconv"
"strings"
"sync"
"time"

"github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod/define"
Expand Down Expand Up @@ -204,8 +205,9 @@ func moveProcessToScope(pidPath, slice, scope string) error {
func MovePauseProcessToScope(pausePidPath string) {
var err error

for i := 0; i < 3; i++ {
r := rand.Int()
state := rand.New(rand.NewSource(time.Now().UnixNano()))
for i := 0; i < 10; i++ {
r := state.Int()
err = moveProcessToScope(pausePidPath, "user.slice", fmt.Sprintf("podman-pause-%d.scope", r))
if err == nil {
return
Expand Down

0 comments on commit 65d5a2b

Please sign in to comment.