Change module name to go.fd.io/govpp
[govpp.git] / adapter / statsclient / statsclient.go
index 0b16a77..dd84897 100644 (file)
@@ -26,7 +26,7 @@ import (
        "syscall"
        "time"
 
-       "git.fd.io/govpp.git/adapter"
+       "go.fd.io/govpp/adapter"
        "github.com/fsnotify/fsnotify"
        "github.com/ftrvxmtrx/fd"
        logger "github.com/sirupsen/logrus"
@@ -152,6 +152,7 @@ func (sc *StatsClient) Disconnect() error {
                return fmt.Errorf("unmapping shared memory failed: %v", err)
        }
        sc.headerData = nil
+       sc.done <- struct{}{}
 
        Log.Debugf("successfully unmapped shared memory")
        return nil
@@ -505,15 +506,19 @@ func (sc *StatsClient) getStatEntriesOnIndex(vector dirVector, indexes ...uint32
                if len(dirName) == 0 {
                        return
                }
+               var t adapter.StatType
                d := sc.CopyEntryData(dirPtr, ^uint32(0))
+               if d != nil {
+                       t = d.Type()
+               }
                entries = append(entries, adapter.StatEntry{
                        StatIdentifier: adapter.StatIdentifier{
                                Index: index,
                                Name:  dirName,
                        },
-                       Type:    d.Type(),
+                       Type:    t,
                        Data:    d,
-                       Symlink: adapter.StatType(dirType) == adapter.Symlink,
+                       Symlink: dirType == adapter.Symlink,
                })
        }
        return entries, nil
@@ -597,7 +602,7 @@ func (sc *StatsClient) updateStatOnIndex(entry *adapter.StatEntry, vector dirVec
        dirPtr, dirName, dirType := sc.GetStatDirOnIndex(vector, entry.Index)
        if len(dirName) == 0 ||
                !bytes.Equal(dirName, entry.Name) ||
-               adapter.StatType(dirType) != entry.Type ||
+               dirType != entry.Type ||
                entry.Data == nil {
                return nil
        }