summaryrefslogtreecommitdiff
path: root/pkg/cgroups/systemd.go
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2019-08-14 11:21:26 +0200
committerGiuseppe Scrivano <gscrivan@redhat.com>2019-08-14 15:46:07 +0200
commit9873901469bd5a4e435132cbb65aa6bacf798c2a (patch)
tree1280b3cef25bdeb04f5d54bea2a5e38695074e49 /pkg/cgroups/systemd.go
parenta734b53357a84d5156e2902113e72d9384f9515b (diff)
downloadpodman-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.go23
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
}