From 24f0fa0fdea30a7005963d51ba46c5accea976db Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Mon, 17 Nov 2014 21:12:18 -0800 Subject: [PATCH] delegate teardown this is silly but whatever License: MIT Signed-off-by: Brian Tiger Chow --- core/core.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/core.go b/core/core.go index b8133377b..81f64e764 100644 --- a/core/core.go +++ b/core/core.go @@ -108,10 +108,10 @@ func NewIpfsNode(cfg *config.Config, online bool) (n *IpfsNode, err error) { // derive this from a higher context. ctx := context.TODO() n = &IpfsNode{ - onlineMode: online, - Config: cfg, - ContextCloser: ctxc.NewContextCloser(ctx, nil), + onlineMode: online, + Config: cfg, } + n.ContextCloser = ctxc.NewContextCloser(context.TODO(), n.teardown) // setup datastore. if n.Datastore, err = makeDatastore(cfg.Datastore); err != nil { @@ -191,9 +191,11 @@ func NewIpfsNode(cfg *config.Config, online bool) (n *IpfsNode, err error) { return n, nil } -func (n *IpfsNode) Close() { - n.ContextCloser.Close() - n.Datastore.Close() +func (n *IpfsNode) teardown() error { + if err := n.Datastore.Close(); err != nil { + return err + } + return nil } func (n *IpfsNode) OnlineMode() bool {