summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2012-04-06 16:32:00 +0200
committerYorhel <git@yorhel.nl>2012-04-06 16:32:00 +0200
commitc77556702c42fe44e75926ad1bf4d9be0d2ad48e (patch)
treefe851435d7300f6db9f8c47967bfb8293fa6a9b2
parentabc09872687528997735a2d0d7827b95c4430658 (diff)
Message.Close(): Allow the return path to go to a Link as well
-rw-r--r--msg.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/msg.go b/msg.go
index 305b222..d0f0410 100644
--- a/msg.go
+++ b/msg.go
@@ -34,7 +34,12 @@ func (m *Message) Reply(t Tuple) {
func (m *Message) Close() {
if m.ret != nil {
- n := m.ret.obj.(*Session).node
+ var n *Node
+ if s, ok := m.ret.obj.(*Session); ok {
+ n = s.node
+ } else {
+ n = m.ret.obj.(*Link).node
+ }
n.lock.Lock()
m.ret.unref()
n.lock.Unlock()