summaryrefslogtreecommitdiff
path: root/vendor/github.com/godbus/dbus/call.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-06-25 21:40:38 +0200
committerGitHub <noreply@github.com>2019-06-25 21:40:38 +0200
commit5b7086abda91f4301af3bfb642d416a22349c276 (patch)
treebf139f29b261e55c161394637f1c7073da5103f0 /vendor/github.com/godbus/dbus/call.go
parenta488e197a6e3947dd420b40ed834b50db9c829c3 (diff)
parent2388222e98462fdbbe44f3e091b2b79d80956a9a (diff)
downloadpodman-5b7086abda91f4301af3bfb642d416a22349c276.tar.gz
podman-5b7086abda91f4301af3bfb642d416a22349c276.tar.bz2
podman-5b7086abda91f4301af3bfb642d416a22349c276.zip
Merge pull request #3418 from vrothberg/go-modules
update dependencies
Diffstat (limited to 'vendor/github.com/godbus/dbus/call.go')
-rw-r--r--vendor/github.com/godbus/dbus/call.go26
1 files changed, 25 insertions, 1 deletions
diff --git a/vendor/github.com/godbus/dbus/call.go b/vendor/github.com/godbus/dbus/call.go
index ba6e73f60..2cb189012 100644
--- a/vendor/github.com/godbus/dbus/call.go
+++ b/vendor/github.com/godbus/dbus/call.go
@@ -1,9 +1,12 @@
package dbus
import (
+ "context"
"errors"
)
+var errSignature = errors.New("dbus: mismatched signature")
+
// Call represents a pending or completed method call.
type Call struct {
Destination string
@@ -20,9 +23,25 @@ type Call struct {
// Holds the response once the call is done.
Body []interface{}
+
+ // tracks context and canceler
+ ctx context.Context
+ ctxCanceler context.CancelFunc
}
-var errSignature = errors.New("dbus: mismatched signature")
+func (c *Call) Context() context.Context {
+ if c.ctx == nil {
+ return context.Background()
+ }
+
+ return c.ctx
+}
+
+func (c *Call) ContextCancel() {
+ if c.ctxCanceler != nil {
+ c.ctxCanceler()
+ }
+}
// Store stores the body of the reply into the provided pointers. It returns
// an error if the signatures of the body and retvalues don't match, or if
@@ -34,3 +53,8 @@ func (c *Call) Store(retvalues ...interface{}) error {
return Store(c.Body, retvalues...)
}
+
+func (c *Call) done() {
+ c.Done <- c
+ c.ContextCancel()
+}