diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2019-08-14 11:21:26 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2019-08-14 15:46:07 +0200 |
commit | 9873901469bd5a4e435132cbb65aa6bacf798c2a (patch) | |
tree | 1280b3cef25bdeb04f5d54bea2a5e38695074e49 /pkg/cgroups/systemd.go | |
parent | a734b53357a84d5156e2902113e72d9384f9515b (diff) | |
download | podman-9873901469bd5a4e435132cbb65aa6bacf798c2a.tar.gz podman-9873901469bd5a4e435132cbb65aa6bacf798c2a.tar.bz2 podman-9873901469bd5a4e435132cbb65aa6bacf798c2a.zip |
pkg/cgroups: use DBUS session when rootless
use the DBUS user session when running in rootless mode.
Closes: https://github.com/containers/libpod/issues/3801
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'pkg/cgroups/systemd.go')
-rw-r--r-- | pkg/cgroups/systemd.go | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/pkg/cgroups/systemd.go b/pkg/cgroups/systemd.go index e72e456bc..b8e6db156 100644 --- a/pkg/cgroups/systemd.go +++ b/pkg/cgroups/systemd.go @@ -9,13 +9,7 @@ import ( "github.com/godbus/dbus" ) -func systemdCreate(path string) error { - c, err := systemdDbus.New() - if err != nil { - return err - } - defer c.Close() - +func systemdCreate(path string, c *systemdDbus.Conn) error { slice, name := filepath.Split(path) slice = strings.TrimSuffix(slice, "/") @@ -43,7 +37,7 @@ func systemdCreate(path string) error { } ch := make(chan string) - _, err = c.StartTransientUnit(name, "replace", properties, ch) + _, err := c.StartTransientUnit(name, "replace", properties, ch) if err != nil { lastError = err continue @@ -55,7 +49,7 @@ func systemdCreate(path string) error { } /* - systemdDestroy is copied from containerd/cgroups/systemd.go file, that + systemdDestroyConn is copied from containerd/cgroups/systemd.go file, that has the following license: Copyright The containerd Authors. @@ -72,18 +66,11 @@ func systemdCreate(path string) error { See the License for the specific language governing permissions and limitations under the License. */ - -func systemdDestroy(path string) error { - c, err := systemdDbus.New() - if err != nil { - return err - } - defer c.Close() - +func systemdDestroyConn(path string, c *systemdDbus.Conn) error { name := filepath.Base(path) ch := make(chan string) - _, err = c.StopUnit(name, "replace", ch) + _, err := c.StopUnit(name, "replace", ch) if err != nil { return err } |