
PR opencontainers/runc#1754 works around an issue in manager.Apply(-1) that makes Kubelet startup hang when using systemd cgroup driver (by adding a timeout) and further PR opencontainers/runc#1772 fixes that bug by checking the proper error status before waiting on the channel. PR opencontainers/runc#1776 checks whether Delegate works in slices, which keeps libcontainer systemd cgroup driver working on systemd v237+. PR opencontainers/runc#1781 makes the channel buffered, so if we time out waiting on the channel, the updater will not block trying to it since there are no longer any consumers.
41 lines
687 B
Go
41 lines
687 B
Go
// +build windows
|
|
|
|
package user
|
|
|
|
import (
|
|
"fmt"
|
|
"os/user"
|
|
)
|
|
|
|
func lookupUser(username string) (User, error) {
|
|
u, err := user.Lookup(username)
|
|
if err != nil {
|
|
return User{}, err
|
|
}
|
|
return userFromOS(u)
|
|
}
|
|
|
|
func lookupUid(uid int) (User, error) {
|
|
u, err := user.LookupId(fmt.Sprintf("%d", uid))
|
|
if err != nil {
|
|
return User{}, err
|
|
}
|
|
return userFromOS(u)
|
|
}
|
|
|
|
func lookupGroup(groupname string) (Group, error) {
|
|
g, err := user.LookupGroup(groupname)
|
|
if err != nil {
|
|
return Group{}, err
|
|
}
|
|
return groupFromOS(g)
|
|
}
|
|
|
|
func lookupGid(gid int) (Group, error) {
|
|
g, err := user.LookupGroupId(fmt.Sprintf("%d", gid))
|
|
if err != nil {
|
|
return Group{}, err
|
|
}
|
|
return groupFromOS(g)
|
|
}
|